`
hellohank
  • 浏览: 146348 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

maven项目中根据proto文件生成java文件

阅读更多

1、proto文件要放到 src/main/proto目录里。

2、proto中指定一下生成的类所在的包名,如:option java_package = "com.demo.service.grpc";

3、生成的java文件在 target/generated-sources/protobuf目录下

 

PS:以上proto文件所在目录,和生成的java所在目录,可以在插件中更改。

 

正文:只需要在maven项目的pom.xml文件中增加以下内容即可!

 

    <!-- 定义依赖的版本 -->
    <properties>
        <grpc.version>1.31.1</grpc.version>
        <protobuf.version>3.22.2</protobuf.version>
    </properties>
	
	<!-- 定义grpc相关的依赖 -->
	<dependencies>
		<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>
        <dependency>
            <groupId>com.google.protobuf</groupId>
            <artifactId>protobuf-java</artifactId>
            <version>${protobuf.version}</version>
        </dependency>
	</dependencies>

	<!-- 定义需要运行的依赖的插件 -->
	<build>
        <extensions>
            <extension>
                <groupId>kr.motd.maven</groupId>
                <artifactId>os-maven-plugin</artifactId>
                <version>1.6.2</version>
            </extension>
        </extensions>
        <plugins>
            <plugin>
                <groupId>org.xolstice.maven.plugins</groupId>
                <artifactId>protobuf-maven-plugin</artifactId>
                <version>0.6.1</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                            <goal>compile-custom</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <protocArtifact>com.google.protobuf:protoc:3.12.0:exe:${os.detected.classifier}</protocArtifact>
                    <pluginId>grpc-java</pluginId>
                    <pluginArtifact>io.grpc:protoc-gen-grpc-java:1.32.1:exe:${os.detected.classifier}</pluginArtifact>
                    <protoSourceRoot>${project.basedir}/src/main/proto</protoSourceRoot>
                    <outputDirectory>${project.build.directory}/generated-sources/protobuf/java</outputDirectory>
                    <clearOutputDirectory>false</clearOutputDirectory>
                </configuration>
            </plugin>
        </plugins>
    </build>

 

分享到:
评论

相关推荐

    Maven搭建Grpc项目详细流程附加grpc—java简单demo

    6. 在Eclipse中运行`mvn compile`命令,这将自动编译`.proto`文件并生成Java代码。 7. 使用生成的Java代码创建服务端和客户端。服务端实现`CustomerService`接口,客户端使用`ManagedChannel`连接服务端并调用`...

    Protobuf生成java类

    Protobuf(Protocol Buffers)是Google...通过.proto文件定义数据结构,使用protoc编译器生成Java类,可以方便地在Java应用中实现序列化和反序列化操作。在实际开发中,Protobuf的紧凑格式和高性能使其成为理想的选择。

    protobuf文件打包成jar包

    3. **编译protobuf文件**:使用protoc编译.proto文件生成Java源代码。在命令行中,导航到`gf-proto`目录,然后运行以下命令: ``` protoc --java_out=. message.proto ``` 这将在当前目录下生成对应的Java源代码...

    基于maven项目,简单尝试了下grpc-java.zip

    在Java中,gRPC通常通过protobuf(Protocol Buffers)来定义服务接口和服务数据类型,然后自动生成客户端和服务器端的代码。 【描述解析】:“java实战”这一描述表明,这个项目是一个实际操作的Java项目,可能包含...

    2.5.0-proto.exe和对应的maven依赖

    在本案例中,`proto.exe`正是protobuf编译器的Windows版本,用于将`.proto`文件编译成Java源代码,以便在Java项目中使用。 首先,我们需要了解`.proto`文件。这是一种定义数据结构的语言,类似于XML或JSON,但更...

    protobuf-java-3.7.1-API文档-中文版.zip

    赠送Maven依赖信息文件:protobuf-java-3.7.1.pom; 包含翻译后的API文档:protobuf-java-3.7.1-javadoc-API文档-中文(简体)版.zip; Maven坐标:com.google.protobuf:protobuf-java:3.7.1; 标签:google、protobuf...

    wire-gradle-plugin:使用 Square 的 Wire 库从 .proto 文件生成 Java 类的 Gradle 插件

    用法在您的应用程序的build.gradle文件中: apply task ' com.bendb.wire 'buildScript { repositories { maven { url " https://oss.sonatype.org/content/repositories/snapshots/ " } } depend

    maven-protobuff-1.0.0.zip

    maven-protobuf.zip,使用protoc从protocol buffers.proto文件生成java源的maven插件;使用protoc从protocol buffers.proto文件生成java源的maven插件。

    gRPC官方文档中文版doc带目录以及示例源码(Java)

    idea可以直接导入,文档是doc版的,带目录,示例源码为官方自带的,mvn clean之后,target中由proto文件生成的代码会清除,所以需要执行mvn install 后maven插件会根据proto文件自动生成java代码。可以直接运行。...

    cocolian-protoc-plugin:Maven插件,用来编译项目中使用到的protobuf文件成Java文件。 这样使用者就不需要安装protobuf

    cocolian-protoc-plugin 是一个maven插件,用于解决使用protocol buffer (protobuf)的大型软件项目中,对protobuf文件的管理和编译的问题。在大型软件项目中使用protobuf时,一般有两种处理方式:集中管理protobuf...

    protobuffer example

    本示例工程“protobuffer example”将展示如何在Java项目中利用Maven构建工具来操作protobuf,涉及的主要知识点包括protobuf的安装与配置、protobuf的语法、编译.proto文件生成Java类、以及数据的序列化和反序列化。...

    java生成protobufdemo直接运行

    在命令行中,定位到包含.proto文件的目录,然后使用protoc编译器生成Java代码: ``` protoc -I=$SRC_DIR --java_out=$DST_DIR $SRC_DIR/message.proto ``` 这里,$SRC_DIR是.proto文件所在的目录,$DST_DIR是你希望...

    protobuf-java-2.5.0jar包

    3. 在Java代码中使用:生成的Java类可以直接在项目中使用,进行数据的序列化和反序列化操作。例如: ```java Person person = Person.newBuilder() .setName("John Doe") .setId(1234) .setEmail("john.doe@...

    Google Protobuf .java 类生成辅助工具

    2. 在Maven项目中,你需要在pom.xml文件中添加对protobuf-java库的依赖,指定合适的版本号,如`&lt;version&gt;3.14.0&lt;/version&gt;`。这个库提供了Java编程语言的API,与protoc.exe配合使用。 3. 之后,编写一个名为`...

    protoc+protoc-gen-grpc-java

    1. `protoc.exe`:这是Protocol Buffers的编译器,用于编译.proto文件,生成Java、C++、Python等语言的代码。 2. `protoc-gen-grpc-java-0.13.2-windows-x86_64.exe`:这是gRPC的Java插件,特定于版本0.13.2,适用于...

    eclipse protobuf 安装配置示例

    右键点击.proto文件,选择"Generate Output"或使用快捷键,Eclipse会自动调用protoc编译器生成Java代码。生成的代码包括一个Builder类和一个Message类,它们提供了序列化和反序列化的方法。 为了在其他Java项目中...

    ProtocolBuffer for java(android)

    在Java环境下,ProtoBuf通过.proto文件定义数据结构,然后使用`protoc`编译器生成对应的Java类,这些类提供了序列化和反序列化的方法。 **ProtoBuf文件定义** 在ProtoBuf中,数据结构被定义在一个.proto文件中。...

    spring boot protobuf demo

    这将允许你从.proto文件生成Java代码。 2. **定义.proto文件**:创建一个.proto文件,比如`person.proto`,并定义你的消息类型。例如: ```protobuf syntax = "proto3"; message Person { string name = 1; ...

    GRPC简单应用(Java+Python)

    3. 生成Java代码:使用protoc编译器生成Java代码,这将创建一个服务接口和消息类型的Java类。 4. 实现服务端:创建一个实现了GreeterService的类,处理SayHello请求。 5. 启动服务端:创建一个主类,实例化Server...

    grpc-java-examples

    Maven 是 Java 开发中的一个重要构建工具,它通过管理项目的依赖关系和提供标准化的构建过程,使得项目开发更加便捷。 项目包含的核心部分是 "grpc-demo",这表明这个示例可能是一个简单的 gRPC 服务端和客户端的...

Global site tag (gtag.js) - Google Analytics