专业的编程技术博客社区

网站首页 > 博客文章 正文

Maven工程处理Protobuf(maven project need to be imported)

baijin 2024-08-27 11:08:36 博客文章 4 ℃ 0 评论

一、引言

Java 开发中特别是进程间通讯,往往会用到google的protobuf作为数据格式,但是处理protobuf的时候需要编解码,这里在maven工程集成了protobuf插件方便开发使用。

二、方法

1. 在pom文件中配置相应的jar包

<dependency> <groupId>com.google.protobuf</groupId>
 <artifactId>protobuf-java</artifactId>
 <version>3.2.0</version></dependency>

2. 在build中添加配置

<build> <defaultGoal>package</defaultGoal>
 <extensions>
 <extension>
 <groupId>kr.motd.maven</groupId>
 <artifactId>os-maven-plugin</artifactId>
 <version>1.5.0.Final</version>
 </extension>
 </extensions>
 <plugins>
 <!-- protobuf 编译组件 -->
 <plugin>
 <groupId>org.xolstice.maven.plugins</groupId>
 <artifactId>protobuf-maven-plugin</artifactId>
 <version>0.5.1</version>
 <extensions>true</extensions>
 <configuration>
 <protoSourceRoot>${project.basedir}/src/main/proto</protoSourceRoot>
 <protocArtifact>com.google.protobuf:protoc:3.2.0:exe:${os.detected.classifier}</protocArtifact>
 </configuration>
 <executions>
 <execution>
 <goals>
 <goal>compile</goal>
 </goals>
 </execution>
 </executions>
 </plugin>
 <!-- 编译jar包的jdk版本 -->
 <plugin>
 <groupId>org.apache.maven.plugins</groupId>
 <artifactId>maven-compiler-plugin</artifactId>
 <version>3.1</version>
 <configuration>
 <source>${java.version}</source>
 <target>${java.version}</target>
 </configuration>
 </plugin>
 </plugins></build>
  1. 注意proto的版本
  2. 需要将需要编译的proto文件放入/src/main/proto目录下。如果没有则自行创建

三、编译

1. 命令: mvn protobuf:compile

2. IDEA开发工具

四、编译完成java文件位置

如下图

五、总结

通过此方式,可以通过maven编译不同版本的proto,不需要开发机器安装proto, 也不需要编译好java文件放到工程中。到此为止就可以在工程中自由引用编译protobuf了。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表