protoc 版本在不同文件夹下显示不一样?

bubbleblue 2016-06-18 10:45:26
我想修改hadoop源码的一个地方。网上找的教程是通过maven.
maven安装很顺利,但是protoc安装一直有问题。
一开始protoc --version是3.0,后来一通搞,虽然protoc一直没打包成功,但是在protobuf2.5.0文件夹下的java文件夹下查看protoc版本已经是2.5.0了,我以为没问题了就去hadoop-2.7.2-src下编译源码,结果报错:




然后我试了下protoc --version,果然是3.0,可是回到protobuf2.5.0的java文件夹下,就变成了2.5.0。怎样才能都变成2.5.0呢?

p.s.我不是太明白安装protoc的过程,说是在java文件夹下运行 mvn package,因为这一步有问题我也不知道能生成什么,但是我的protoc --version居然是有版本的?

困扰两天了orz...
...全文
563 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
bubbleblue 2016-06-18
  • 打赏
  • 举报
回复
重启机器后,再进入java文件夹看version也是3.0.0了。 修改protobuf2.5.0的java文件夹下的pom.xml文件后,执行mvn package 可以生成protobuf-java-2.5.0.jar了 但是version还是3.0 然后我又把源码放到vs2008中编译了一遍,生成了libprotoc.lib等一些列文件,我把这个文件还有protoc.exe放到windows 的system32文件夹下。但还是version3.0 怎么才能修改版本啊啊啊。。。望大神指教!!
bubbleblue 2016-06-18
  • 打赏
  • 举报
回复
来张protoc安装错误的图片,此为在protobuf2.5.0的java文件夹下运行mvn package

这个DescriptorProtos.java我看了下,在protobuf-2.5.0\java\target\generated-sources\com\google\protobuf 下是生成了的,但是由于这一步有错,我也不清楚是不是应该继续生成更多的文件。。。
网上还有说不通过mvn,而通过下面的语句生成DescriptorProtos.java。那安装protoc的目的就在于生成这个文件?这个文件怎么就和protoc版本关联了么?
protoc --java_out=src/main/java -I../src ../src/google/protobuf/descriptor.proto
bubbleblue 2016-06-18
  • 打赏
  • 举报
回复
是我理解有问题。在有protoc.exe的文件夹下,执行protoc --version就是当前这个exe的版本。 在没有protoc.exe的目录下执行protoc --version,是环境变量中配置的protoc.exe所在位置的版本。 所以把正确版本的protoc.exe放到windows/system32文件夹下就行了。。或者单独添加protoc.exe的环境变量也可以。

20,808

社区成员

发帖
与我相关
我的任务
社区描述
Hadoop生态大数据交流社区,致力于有Hadoop,hive,Spark,Hbase,Flink,ClickHouse,Kafka,数据仓库,大数据集群运维技术分享和交流等。致力于收集优质的博客
社区管理员
  • 分布式计算/Hadoop社区
  • 涤生大数据
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧