您的位置:首页 > 编程语言 > Java开发

Protobuf-java的jar文件编译笔记

2017-09-06 16:53 786 查看
最近在学习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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: