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>
相关推荐
6. 在Eclipse中运行`mvn compile`命令,这将自动编译`.proto`文件并生成Java代码。 7. 使用生成的Java代码创建服务端和客户端。服务端实现`CustomerService`接口,客户端使用`ManagedChannel`连接服务端并调用`...
Protobuf(Protocol Buffers)是Google...通过.proto文件定义数据结构,使用protoc编译器生成Java类,可以方便地在Java应用中实现序列化和反序列化操作。在实际开发中,Protobuf的紧凑格式和高性能使其成为理想的选择。
在Java中,gRPC通常通过protobuf(Protocol Buffers)来定义服务接口和服务数据类型,然后自动生成客户端和服务器端的代码。 【描述解析】:“java实战”这一描述表明,这个项目是一个实际操作的Java项目,可能包含...
在本案例中,`proto.exe`正是protobuf编译器的Windows版本,用于将`.proto`文件编译成Java源代码,以便在Java项目中使用。 首先,我们需要了解`.proto`文件。这是一种定义数据结构的语言,类似于XML或JSON,但更...
赠送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...
用法在您的应用程序的build.gradle文件中: apply task ' com.bendb.wire 'buildScript { repositories { maven { url " https://oss.sonatype.org/content/repositories/snapshots/ " } } depend
maven-protobuf.zip,使用protoc从protocol buffers.proto文件生成java源的maven插件;使用protoc从protocol buffers.proto文件生成java源的maven插件。
idea可以直接导入,文档是doc版的,带目录,示例源码为官方自带的,mvn clean之后,target中由proto文件生成的代码会清除,所以需要执行mvn install 后maven插件会根据proto文件自动生成java代码。可以直接运行。...
cocolian-protoc-plugin 是一个maven插件,用于解决使用protocol buffer (protobuf)的大型软件项目中,对protobuf文件的管理和编译的问题。在大型软件项目中使用protobuf时,一般有两种处理方式:集中管理protobuf...
本示例工程“protobuffer example”将展示如何在Java项目中利用Maven构建工具来操作protobuf,涉及的主要知识点包括protobuf的安装与配置、protobuf的语法、编译.proto文件生成Java类、以及数据的序列化和反序列化。...
在命令行中,定位到包含.proto文件的目录,然后使用protoc编译器生成Java代码: ``` protoc -I=$SRC_DIR --java_out=$DST_DIR $SRC_DIR/message.proto ``` 这里,$SRC_DIR是.proto文件所在的目录,$DST_DIR是你希望...
3. 在Java代码中使用:生成的Java类可以直接在项目中使用,进行数据的序列化和反序列化操作。例如: ```java Person person = Person.newBuilder() .setName("John Doe") .setId(1234) .setEmail("john.doe@...
2. 在Maven项目中,你需要在pom.xml文件中添加对protobuf-java库的依赖,指定合适的版本号,如`<version>3.14.0</version>`。这个库提供了Java编程语言的API,与protoc.exe配合使用。 3. 之后,编写一个名为`...
3. **编译protobuf文件**:使用protoc编译.proto文件生成Java源代码。在命令行中,导航到`gf-proto`目录,然后运行以下命令: ``` protoc --java_out=. message.proto ``` 这将在当前目录下生成对应的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,适用于...
右键点击.proto文件,选择"Generate Output"或使用快捷键,Eclipse会自动调用protoc编译器生成Java代码。生成的代码包括一个Builder类和一个Message类,它们提供了序列化和反序列化的方法。 为了在其他Java项目中...
在Java环境下,ProtoBuf通过.proto文件定义数据结构,然后使用`protoc`编译器生成对应的Java类,这些类提供了序列化和反序列化的方法。 **ProtoBuf文件定义** 在ProtoBuf中,数据结构被定义在一个.proto文件中。...
这将允许你从.proto文件生成Java代码。 2. **定义.proto文件**:创建一个.proto文件,比如`person.proto`,并定义你的消息类型。例如: ```protobuf syntax = "proto3"; message Person { string name = 1; ...
3. 生成Java代码:使用protoc编译器生成Java代码,这将创建一个服务接口和消息类型的Java类。 4. 实现服务端:创建一个实现了GreeterService的类,处理SayHello请求。 5. 启动服务端:创建一个主类,实例化Server...
Maven 是 Java 开发中的一个重要构建工具,它通过管理项目的依赖关系和提供标准化的构建过程,使得项目开发更加便捷。 项目包含的核心部分是 "grpc-demo",这表明这个示例可能是一个简单的 gRPC 服务端和客户端的...