0
点赞
收藏
分享

微信扫一扫

Protobuf-java maven配置

玉字璧 2023-01-10 阅读 156


Protobuf-java maven配置

1. maven pom片断

<!-- protobuf-java for maven plugin
http://stackoverflow.com/questions/1578456/integrate-protocol-buffers-into-maven2-build

Execute failed: java.io.IOException: Cannot run program "protoc":
complile and install compiler the protoc:
# git clone https://github.com/google/protobuf
# ./autogen.sh
# ./configure
# make && make check
# sudo make install
After all, compile a proto to java (== means two minus signs):
# protoc -I=$SRC_DIR ==java_out=$DST_DIR user.proto
-->
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<tasks>
<mkdir dir="src/main/java/avro/channel/protobuf"/>
<exec failοnerrοr="true" executable="protoc">
<arg value="--java_out=src/main/java/avro/channel/protobuf"/>
<arg value="src/avro/user.proto"/>
</exec>
</tasks>
<sourceRoot>src/main/java/avro/channel/protobuf</sourceRoot>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>${protobuf-java.version}</version>
</dependency>
</dependencies>


2. user.proto

option java_package = "avro.channel.protobuf";
option java_outer_classname = "Reg";

message User {
required string ipaddr = 1;
optional string cookie = 2;
optional int64 token = 3;
}


3. 安装protobuf

1) 下载

​​https://github.com/google/protobuf/releases​​

$ wget --no-check-certificate https://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gz

2) 安装

$ tar -zxf protobuf-2.6.1.tar.gz

$ cd protobuf-2.6.1/

$ ./configure

$ make check

sudo make install

3) ubuntu下

$ sudo cd /etc/ld.so.conf.d/

$ sudo touch libprotobuf.conf

$ sudo echo "/usr/local/lib" >> libprotobuf.conf

$ sudo ldconfig


4) 检验

$ protoc --version

libprotoc 2.6.1



举报

相关推荐

0 条评论