Intellij IDEA中使用Protobuf

1.安装Protobuf Support插件

Protobuf Support插件安装图

2.将.proto文件转成Java类

  1. 一般的做法,是执行protoc命令,依次将.proto文件转成Java类:
    protoc.exe -I=d:/tmp --java_out=d:/tmp d:/tmp/monitor_data.proto

2.使用gRPC官方推荐的一种更优雅的使用姿势,可以通过maven轻松搞定,具体步骤:

  1. pom.xml文件配置
<properties>
	<grpc.version>1.6.1</grpc.version>
	<protobuf.version>3.3.0</protobuf.version>
</properties>
 <dependencies>
         <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>
</dependencies>

<build>
		<plugins>
			<!-- 注意: pb插件仅在本地开发时开启, 发布jar时需要关闭, 否则发布失败, 使用 mvn clean package -Pdev打包 -->
			<plugin>
				<groupId>org.xolstice.maven.plugins</groupId>
				<artifactId>protobuf-maven-plugin</artifactId>
				<version>0.6.1</version>
				<configuration>
					<protocExecutable>${project.basedir}/tool/bin/protoc.exe</protocExecutable>
					<protoSourceRoot>${project.basedir}/src/main/resources/proto</protoSourceRoot>
					<outputDirectory>${project.build.sourceDirectory}</outputDirectory>
					<clearOutputDirectory>false</clearOutputDirectory>
				</configuration>
				<executions>
					<execution>
						<goals>
							<goal>compile</goal>
							<goal>test-compile</goal>
						</goals>
						<configuration>
							<skip>${skipProtobufPlugin}</skip>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<version>3.0.1</version>
				<executions>
					<execution>
						<id>attach-sources</id>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

3.编译生成Java类

在这里插入图片描述生成的java类生成的java类展示

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章