Protobuf-java的jar文件编译笔记
博客专区 > linxyz 的博客 > 博客详情
Protobuf-java的jar文件编译笔记
linxyz 发表于6个月前
Protobuf-java的jar文件编译笔记
  • 发表于 6个月前
  • 阅读 48
  • 收藏 1
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

最近在学习NIO方面的框架Netty,在书中提到了编解码技术ProtoBuf,在实践过程中(本人已经习惯了maven构建工程),发现maven仓库中并未提供protobuf-java-3.4.0.jar文件。怎么办呢?

于是本人就开始问度娘了,多数文章都是自己编译打包。以下是我操作的记录,仅供参考。

首先,我的环境:

MacOS 10.12.6版本,安装了最新的Homebrew,java版本是1.8.0_144,mvn版本是3.5.0。

其次,下载源码:下载protobuf release版本:https://github.com/google/protobuf/releases

(我这里选在的是3.4.0最新版)

接下来,把下载下来的文件解压出来。应该是这个样子:

OK,现在把使用Homebrew安装的protobuf的可执行文件protoc拷贝到上图中的src文件夹下。

(注意:如果你翻看了github的说明,文中说的src就是指解压包中的src,而不是java目录下的src目录,切记!)

万事俱备了,只欠东风。那就开始使用maven进行编译吧。

按照https://github.com/google/protobuf/tree/master/java文中所说,进入java目录后执行命令:

mvn test

运行结果报错。继续执行命令

mvn install && mvn package

还是报错。错误主要是test文件的问题

是不是跳过测试就OK了呢?

mvn package -Dmaven.test.skip=true

运行还是报错。

TNND,戏耍我嘛~

进入java目录后,将所有的test目录下的代码删除。再运行mvn package。结果一切正常,万事大吉!

 

jar文件编译成功后,根据自己需要,可将该文件放到maven本地仓库中使用,或者直接在拷贝到classpath路径下使用。

以下是mvn安装命令

mvn install:install-file -Dfile=./protobuf-java-3.4.0.jar -DgroupId=com.google -DartifactId=protobuff -Dversion=3.4.0 -Dpackaging=jar

 

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 0
博文 10
码字总数 5256
×
linxyz
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: