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類展示

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