Maven工程處理Protobuf

1、引言

Java 開發中特別是進程間通信,每每會用到google的protobuf做爲數據格式,可是處理protobuf的時候須要編解碼,這裏在maven工程集成了protobuf插件方便開發使用。java

2、方法

1. 在pom文件中配置相應的jar包

<dependency>
    <groupId>com.google.protobuf</groupId>
    <artifactId>protobuf-java</artifactId>
    <version>3.2.0</version>
</dependency>

2. 在build中添加配置

<build>
    <defaultGoal>package</defaultGoal>
    <extensions>
        <extension>
            <groupId>kr.motd.maven</groupId>
            <artifactId>os-maven-plugin</artifactId>
            <version>1.5.0.Final</version>
        </extension>
    </extensions>

    <plugins>
        <!-- protobuf 編譯組件 -->
        <plugin>
            <groupId>org.xolstice.maven.plugins</groupId>
            <artifactId>protobuf-maven-plugin</artifactId>
            <version>0.5.1</version>
            <extensions>true</extensions>
            <configuration>
                <protoSourceRoot>${project.basedir}/src/main/proto</protoSourceRoot>
                <protocArtifact>com.google.protobuf:protoc:3.2.0:exe:${os.detected.classifier}</protocArtifact>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>compile</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

        <!-- 編譯jar包的jdk版本 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>${java.version}</source>
                <target>${java.version}</target>
            </configuration>
        </plugin>
 </plugins>
</build>

1. 注意proto的版本apache

2. 須要將須要編譯的proto文件放入/src/main/proto目錄下。若是沒有則自行建立maven

3、編譯

1. 命令: mvn protobuf:compile

2. IDEA開發工具

4、編譯完成java文件位置

以下圖工具

5、總結

經過此方式,能夠經過maven編譯不一樣版本的proto,不須要開發機器安裝proto,  也不須要編譯好java文件放到工程中。到此爲止就能夠在工程中自由引用編譯protobuf了。開發工具

相關文章
相關標籤/搜索