最近在搞PB的版本的升級,歷史的PB的版本是2.4,現在是打算升級到3.2,當然PB的版本肯定有很多變化了,就不再這里多說了,這里重點說一說,采用IDEA的插件方便執行PB的文件的JAVA編譯,這樣的話,就不用執行命令了,同時可以編譯多個PB文件。
第一步:安裝插件
第二步:配置pom文件
<dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> <version>3.1.0</version> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-netty</artifactId> <version>${grpc.version}</version> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-protobuf</artifactId> <version>${grpc.version}</version> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-stub</artifactId> <version>${grpc.version}</version> </dependency>
<build> <extensions> <extension> <groupId>kr.motd.maven</groupId> <artifactId>os-maven-plugin</artifactId> <version>1.4.1.Final</version> </extension> </extensions> <plugins> <plugin> <groupId>org.xolstice.maven.plugins</groupId> <artifactId>protobuf-maven-plugin</artifactId> <version>0.5.0</version> <configuration> <protocArtifact> com.google.protobuf:protoc:3.1.0:exe:${os.detected.classifier} </protocArtifact> <pluginId>grpc-java</pluginId> <pluginArtifact> io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier} </pluginArtifact> </configuration> <executions> <execution> <goals> <goal>compile</goal> <goal>compile-custom</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
第三步:創建proto文件
person.proto文件內容如下:
syntax = "proto3"; option java_package = "com.ptest.proto"; option java_outer_classname = "PersonModel"; message Person { int32 id = 1; string name = 2; string email = 3; }
第四步:執行maven命令(protobuf:compile-javano)
第五步:檢查生成的java文件(/target/generated-sources/protobuf/java/*)