proto maven 编译 组件

proto maven 编译 组件

在使用 grpc + protobuf 作为 rpc 的时候我们对 protobuf 要做编译生成对应的语言的代码,这里以 java 为例,我们回生成 java 代码使用 protoc 命令 protoc --java_out=**/**/ **/**/**.proto 每次都要执行并且把生成的代码 copy 到 main src 中,这样十分到繁琐浪费时间,这时候可以使用 maven 插件,可以很好的帮我们把 idl 生成 java 语言(⚠️:proto 文件必须在 java 同级的 proto 中)

xml 复制代码
<build>
    <extensions>
        <extension>
            <groupId>kr.motd.maven</groupId>
            <artifactId>os-maven-plugin</artifactId>
            <version>1.7.1</version>
        </extension>
    </extensions>
    <plugins>
        <plugin>
            <groupId>org.xolstice.maven.plugins</groupId>
            <artifactId>protobuf-maven-plugin</artifactId>
            <version>0.6.1</version>
            <configuration>
                <protocArtifact>com.google.protobuf:protoc:3.25.5:exe:${os.detected.classifier}</protocArtifact>
                <pluginId>grpc-java</pluginId>
                <pluginArtifact>io.grpc:protoc-gen-grpc-java:1.68.1:exe:${os.detected.classifier}</pluginArtifact>
                <outputDirectory>
                    ${basedir}/src/main/java
                </outputDirectory>
                <clearOutputDirectory>false</clearOutputDirectory>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>compile</goal>
                        <goal>compile-custom</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
相关推荐
相隔一个图书馆的距离1 分钟前
netty系列(五)IdleStateHandler和IdleStateHandlerEventState
java·netty·idlehandler
莫问alicia19 分钟前
苍穹外卖 项目记录 day03
java·开发语言·spring boot·maven
123yhy传奇22 分钟前
【学习总结|DAY028】后端Web实战(部门管理)
java·学习·mysql·log4j·maven·mybatis·web
m0_7482544737 分钟前
将 vue3 项目打包后部署在 springboot 项目运行
java·spring boot·后端
Cikiss39 分钟前
SpringMVC解析
java·服务器·后端·mvc
旧物有情1 小时前
蓝桥杯历届真题--#R格式(C++,Java) 高精度运算
java·c++·蓝桥杯
Pee Wee1 小时前
责任链模式
java·前端·责任链模式
C182981825751 小时前
BeanFactory与factoryBean 区别,请用源码分析,及spring中涉及的点,及应用场景
java·spring
m0_548503032 小时前
(CICD)自动化构建打包、部署(Jenkins + maven+ gitlab+tomcat)
自动化·jenkins·maven
xmh-sxh-13142 小时前
熔断器模式如何进入半开状态的
java