美文网首页
idea+maven根据.proto文件生成Java代码

idea+maven根据.proto文件生成Java代码

作者: 兔宰子 | 来源:发表于2020-02-21 15:52 被阅读0次

通过maven工具,将.proto文件转成java文件

  • 1、在idea的main目录下,新建一个文件夹为proto,并右键文件夹,选择Mark Directory As ->Resources Root,并将.proto文件copy到proto文件夹下。


    image-20200221153834144.png
  • 2、在pom.xml文件里,添加

    <properties>
      <grpc.version>1.6.1</grpc.version>
      <protobuf.version>3.3.0</protobuf.version>
    </properties>
    
    <dependency>
                <groupId>io.grpc</groupId>
                <artifactId>grpc-netty</artifactId>
                <version>${grpc.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>io.grpc</groupId>
                <artifactId>grpc-protobuf</artifactId>
                <version>${grpc.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>io.grpc</groupId>
                <artifactId>grpc-stub</artifactId>
                <version>${grpc.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.google.protobuf</groupId>
                <artifactId>protobuf-java</artifactId>
                <version>${protobuf.version}</version>
    </dependency>
    
    <build>
            <extensions>
                <extension>//这个必须添加,否则plugin下的${os.detected.classifier}可能会报错
                    <groupId>kr.motd.maven</groupId>
                    <artifactId>os-maven-plugin</artifactId>
                    <version>1.6.1</version>
                </extension>
            </extensions>
            
            <plugins>
    
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <dependencies>
                        <dependency>
                            <groupId>org.springframework</groupId>
                            <artifactId>springloaded</artifactId>
                            <version>1.2.5.RELEASE</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin><!-- 组件 -->
                    <groupId>org.xolstice.maven.plugins</groupId>
                    <artifactId>protobuf-maven-plugin</artifactId>
                    <version>0.5.0</version>
                    <configuration>
                        <protoSourceRoot>${basedir}/src/main/proto</protoSourceRoot>
                        <protocArtifact>com.google.protobuf:protoc:${protobuf.version}: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>
    
  • 3、待maven加载完成之后,可在侧边的maven内看到如下plugins,点击运行compile即可将.proto文件转成java文件。

    image-20200221154454288.png
  • 4、最后,在target\generated-sources\protobuf目录下,即可看到java文件。

相关文章

网友评论

      本文标题:idea+maven根据.proto文件生成Java代码

      本文链接:https://www.haomeiwen.com/subject/enbcqhtx.html