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目录后执行命令:
运行结果报错。继续执行命令
还是报错。错误主要是test文件的问题
是不是跳过测试就OK了呢?
运行还是报错。
TNND,戏耍我嘛~
进入java目录后,将所有的test目录下的代码删除。再运行mvn package。结果一切正常,万事大吉!
jar文件编译成功后,根据自己需要,可将该文件放到maven本地仓库中使用,或者直接在拷贝到classpath路径下使用。
以下是mvn安装命令
于是本人就开始问度娘了,多数文章都是自己编译打包。以下是我操作的记录,仅供参考。
首先,我的环境:
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
相关文章推荐
- protobuf windows java 环境搭建(编译出protobuf需要的jar包,解决编译时OutOfMemory的问题)
- protobuf安装配置和编译成java文件教程(for mac)
- Mac:protobuf proto文件编译为Java文件
- protobuf的配置原始文件.proto中,使用修饰符repeated、required、optional生成的java文件的区别
- linux平台下进行thrift和protobuf的IDL文件的编译缺少类库的解决办法
- 对protobuf进行ndk编译 config.h文件修改部分
- vs2013编译google protobuf生成的消息文件错误。
- ant 编译java工程并导出jar文件
- Ant编译Java文件并将文件进行打Jar包
- 用jar 文件代替java文件编译
- java学习笔记(八)----包,jar文件
- protobuf-gen-lua 编译dll文件
- 笔记:Java编译打包成可以双击运行的jar
- 在命令里编译和执行 带包名 和 jar包 java的文件
- linux下java多文件编译和jar打包
- 加载依赖的jar包在命令行编译和运行java文件
- 加载依赖的jar包在命令行编译和运行java文件
- mac 安装protobuf,并编译为java,c++,python
- ant 编译java工程并导出jar文件