Java 開發中特別是進程間通信,每每會用到google的protobuf做爲數據格式,可是處理protobuf的時候須要編解碼,這裏在maven工程集成了protobuf插件方便開發使用。java
<dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> <version>3.2.0</version> </dependency>
<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的版本apache
2. 須要將須要編譯的proto文件放入/src/main/proto目錄下。若是沒有則自行建立maven
以下圖工具
經過此方式,能夠經過maven編譯不一樣版本的proto,不須要開發機器安裝proto, 也不須要編譯好java文件放到工程中。到此爲止就能夠在工程中自由引用編譯protobuf了。開發工具