当前位置:   article > 正文

Mac下protocBuf文件编译_org.xolstice.maven.plugins mac

org.xolstice.maven.plugins mac

主要顺序就是:1. 本地安装protoc,添加到path > 2. idea安装protocBuf插件 > 3. 工程配置maven插件自动编译proto文件

1. mac下安装protoc

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

2. idea安装protoc插件

这里其实随便选一个就可以,主要是为了idea下查看和编辑方便。

我这边还是用了官方的这个。

 3. maven工程下使用插件自动编译proto文件

我这边用的是:

org.xolstice.maven.plugins:protobuf-maven-plugin

好处是这个插件已经封装的很好了,只需要少量配置即可。

官方文档:

Maven Protocol Buffers Plugin – Usage

下面给出pom配置:

dependency配置

  1. <dependency>
  2. <groupId>com.google.protobuf</groupId>
  3. <artifactId>protobuf-java</artifactId>
  4. <version>1.7.0</version>
  5. </dependency>

build配置

这边protocExecutable 其实可以不用配,如果protoc已经加到path中的话,否则需要配protoc的全路径。

descriptoroutput这边我是设置直接输出到classes目录,这样打包的时候可以打进去,不设置也没关系。

其他配置的话,其实最主要的是配置proto文件的路径,这里因为我文件放在默认的src/main/proto文件夹,所以没有配置,否则增加一个<protoSourceRoot>配置即可。

  1. <build>
  2. <plugins>
  3. <plugin>
  4. <groupId>org.xolstice.maven.plugins</groupId>
  5. <artifactId>protobuf-maven-plugin</artifactId>
  6. <version>0.6.1</version>
  7. <configuration>
  8. <protocExecutable>protoc</protocExecutable>
  9. <descriptorSetOutputDirectory>
  10. ${project.build.directory}/classes
  11. </descriptorSetOutputDirectory>
  12. <protoSourceRoot>src/main/proto</protoSourceRoot>
  13. </configuration>
  14. <executions>
  15. <execution>
  16. <goals>
  17. <goal>compile</goal>
  18. </goals>
  19. </execution>
  20. </executions>
  21. </plugin>
  22. </plugins>
  23. </build>

配置完以后,直接mvn clean install,最终能在target/classes目录中找到你的proto文件编译成的class文件就大功告成了。

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/807652
推荐阅读
相关标签
  

闽ICP备14008679号