赞
踩
主要顺序就是:1. 本地安装protoc,添加到path > 2. idea安装protocBuf插件 > 3. 工程配置maven插件自动编译proto文件
cd /usr/local/lib
mkdir protobuf
cd protobuf
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.15.6/protobuf-cpp-3.15.6.tar.gz
tar -xzvf protobuf-cpp-3.15.6.tar.gz
cd protobuf-3.15.6
./configure --prefix=/usr/local/protobuf 这里我们安装在/usr/local下了
make && make install 注意用root编译
看到没有报错就说明编译成功了。
然后添加到环境变量中
sudo vim /etc/profile
添加两行
export PROTOBUF=/usr/local/protobuf
export PATH=$PATH:$PROTOBUF/bin
然后应用配置
source /etc/profile
看下是否设置成功
protoc --version
这里其实随便选一个就可以,主要是为了idea下查看和编辑方便。
我这边还是用了官方的这个。
我这边用的是:
org.xolstice.maven.plugins:protobuf-maven-plugin
好处是这个插件已经封装的很好了,只需要少量配置即可。
官方文档:
Maven Protocol Buffers Plugin – Usage
下面给出pom配置:
dependency配置
- <dependency>
- <groupId>com.google.protobuf</groupId>
- <artifactId>protobuf-java</artifactId>
- <version>1.7.0</version>
- </dependency>
build配置
这边protocExecutable 其实可以不用配,如果protoc已经加到path中的话,否则需要配protoc的全路径。
descriptoroutput这边我是设置直接输出到classes目录,这样打包的时候可以打进去,不设置也没关系。
其他配置的话,其实最主要的是配置proto文件的路径,这里因为我文件放在默认的src/main/proto文件夹,所以没有配置,否则增加一个<protoSourceRoot>配置即可。
- <build>
- <plugins>
- <plugin>
- <groupId>org.xolstice.maven.plugins</groupId>
- <artifactId>protobuf-maven-plugin</artifactId>
- <version>0.6.1</version>
- <configuration>
- <protocExecutable>protoc</protocExecutable>
- <descriptorSetOutputDirectory>
- ${project.build.directory}/classes
- </descriptorSetOutputDirectory>
- <protoSourceRoot>src/main/proto</protoSourceRoot>
- </configuration>
- <executions>
- <execution>
- <goals>
- <goal>compile</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
配置完以后,直接mvn clean install,最终能在target/classes目录中找到你的proto文件编译成的class文件就大功告成了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。