背景:
mvn执行
mvn clean package -Dmaven.test.skip=true
报错Cannot run program "protoc"
1. linux机器 解决办法:
安装protobuf,系统是ubuntu 16.04,代码中用的protobuf是2.5.0版本。
请选择自己需要的版本下载 (老版本往下拉页面)
下载好protobuf-2.5.0.tar.gz tar包执行
cd ~/Downloads/tar zxvf protobuf-2.5.0.tar.gzcd protobuf-2.5.0./configure --prefix=/usrmakemake checksudo make install
验证protoc version
# protoc --versionlibprotoc 2.5.0
再次执行mvn clean package -Dmaven.test.skip=true即可编译。
2. windows机器 解决办法:
下载protobuf
请选择自己需要的版本下载 (老版本往下拉页面)
下载2个包:
protobuf-2.5.0.tar.gz -- Windows binary -> protoc.exe 编译使用
protobuf-2.5.0.tar.gz -- C++, Java, Python -> 代码
编译过程如下:
(1) 解压protobuf-2.5.0.tar.gz 到 C:\software\protobuf-2.5.0
(2) 解压protoc-2.5.0-win32.zip, 拷贝protoc.exe 到C:\protobuf-2.5.0\java\src
(3) 运行cmd 到C:\protobuf-2.5.0\java 执行 mvn test 和 mvn install
成功之后执行protoc --version检查protoc是否安装成功。
最后将C:\protobuf-2.5.0\java\src 加入系统环境变量Path
参考: