pom.xml文件中指定标签下添加有关配置内容:
参考gRPC相关配置: https://github.com/grpc/grpc-java
<dependencies>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-netty-shaded</artifactId>
<version>1.70.0</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-protobuf</artifactId>
<version>1.70.0</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
<version>1.70.0</version>
</dependency>
<dependency> <!-- necessary for Java 9+ -->
<groupId>org.apache.tomcat</groupId>
<artifactId>annotations-api</artifactId>
<version>6.0.53</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<extensions>
<!-- 获取os.detected.classifier的值,确定当前的操作系统和体系结构 插件说明github:https://github.com/trustin/os-maven-plugin -->
<extension>
<groupId>kr.motd.maven</groupId>
<artifactId>os-maven-plugin</artifactId>
<version>1.7.1</version>
</extension>
</extensions>
<plugins>
<!--根据proto文件生成服务的存根-->
<plugin>
<groupId>org.xolstice.maven.plugins</groupId>
<artifactId>protobuf-maven-plugin</artifactId>
<version>0.6.1</version>
<configuration>
<!-- 消息体生成工具 -->
<!--suppress UnresolvedMavenProperty -->
<!--os.detected.classifier可能会报红,但不影响代码生成,可忽略报错-->
<protocArtifact>com.google.protobuf:protoc:3.25.5:exe:${os.detected.classifier}</protocArtifact>
<!--java rpc 代码生成 -->
<pluginId>grpc-java</pluginId>
<!--java rpc 代码生成功能 -->
<!--suppress UnresolvedMavenProperty -->
<pluginArtifact>io.grpc:protoc-gen-grpc-java:1.70.0:exe:${os.detected.classifier}</pluginArtifact>
<!--proto的文件源 -->
<protoSourceRoot>src/main/proto</protoSourceRoot>
<!--代码生成路径 -->
<!--<outputDirectory>src/main/java</outputDirectory>-->
<!--清空生成路径代码文件,默认为true -->
<!--<clearOutputDirectory>false</clearOutputDirectory>-->
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>compile-custom</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
在项目src/main/proto路径下编写proto文件后,compile一下:
生成代码所在位置
验证或测试是否配置成功,具体方法可参考:
https://juejin.cn/post/7120402652910845988