文档章节

Protobuf-java的jar文件编译笔记

linxyz
 linxyz
发布于 2017/09/06 16:53
字数 456
阅读 142
收藏 1
点赞 0
评论 0

最近在学习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

 

© 著作权归作者所有

共有 人打赏支持
linxyz
粉丝 0
博文 17
码字总数 8882
作品 0
徐汇
protobuf 2.5.0 编译jar

本机是windows环境 1. 下载 protobuf最新版本:https://code.google.com/p/protobuf/downloads/detail?name=protobuf-2.5.0.tar.gz 2. 解压后发现没有包.java下面只有一个POM.xml. 用maven吧.......

山海经
2014/05/17
0
0
protocol buffer 对socket协议封装成二进制传输

protocol buffer 是 google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了三种语言的实现:java、c++ 和 python,每一种实现都包含了相应语言的编译器以及库文件。由于它是...

MrLovelyCbb
2012/02/15
0
0
protocol buffer

protocol buffer 是 google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了三种语言的实现:java、c++ 和 python,每一种实现都包含了相应语言的编译器以及库文件。由于它是...

MrLovelyCbb
2011/12/08
0
0
几种序列化协议(protobuf,xstream,jackjson,jdk,hessian)相关数据

别人的相关测试数据: http://code.google.com/p/thrift-protobuf-compare/wiki/Benchmarking 测试纬度 序列化时间 反序列化时间 bytes大小 测试代码 准备protobuf文件 Message.proto文件代码...

SANSOM
2015/08/20
0
0
Java protobuf框架使用向导

高效的、可扩展的对结构化数据进行编码的格式规范 下面介绍的是使用Java ProtoBuf的基本步骤: 1.http://code.google.com/p/protobuf/downloads/list ,选择其中的win版本下载 2.下载一个pro...

hanzhankang
2014/02/19
0
0
Netty with protobuf(一)

Netty with protobuf 这是一篇关于netty和protobuf2的文章,先来介绍一下protobuf的简单使用。网上有很多基本的protobuf的介绍,这里就不在赘述了。 protobuf官网上提供了一个例子,我们就拿...

秋风醉了
2014/07/26
0
0
google protocol buffer (C++,Java序列化使用实例)

1.下载安装: google protocol buffer 的官网地址是:http://code.google.com/p/protobuf/ 建议下载稳定版本:protobuf-2.4.1 linux下载protobuf-2.4.1.tar.bz2 windows下载protobuf-2.4.1.zip ......

hanzhankang
2014/03/03
0
0
多语言跨平台序列化框架Google Protobuf-with Netty

protoc安装 下载Protobuf [Protobuf][https://code.google.com/p/protobuf/] 我下载的是Protobuf 2.5.0版本. 如果是Windows系统,可直接下载win32, 解压出protoc.exe到任意目录.Linux系统下载...

震秦
2013/08/26
0
1
Netty+Protobuf编程

版本:java7 netty5 protobuf-java-2.5.0 protobuf 消息定义如下: Auth.proto option java_package = "com.xinli.netty.protobuf"; package auth; message AuthRequest{ // (1)required str......

天冰
2014/06/27
0
1
Google Protobuf Reader - Read Data

新项目需要 用 Java 读取 protobuf-net-data encode之后的数据,实在是个让人蛋疼的任务。 protobuf-net-data 把 查询结果封装成 DataTable,用法自己参考原文。 这里说说我要做的事情 Unde...

iamtwang
2014/07/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

百度云iOS架构师在职场中的忠告

1.工具不能代替思考 在我多年的咨询工作和与许多组织和管理者的共事中,我发现了修复问题的共同套路,那就是管理人员相信工具可以“解决”给出的问题。当问题域被理解透彻,并且不可能有很多...

_小迷糊
19分钟前
0
0
Java基础——异常

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 异常处理: 可以挖很多个陷阱,但是不要都是一样...

凯哥学堂
31分钟前
0
0
180723-Quick-Task 动态脚本支持框架之结构设计篇

文章链接:https://liuyueyi.github.io/hexblog/2018/07/23/180723-Quick-Task-动态脚本支持框架之结构设计篇/ Quick-Task 动态脚本支持框架之结构设计篇 相关博文: 180702-QuickTask动态脚本...

小灰灰Blog
35分钟前
0
0
SBT 常用开发技巧

SBT 一直以来都是 Scala 开发者不可言说的痛,最主要的原因就是官方文档维护质量较差,没有经过系统的、循序渐进式的整理,导致初学者入门门槛较高。虽然也有其它构建工具可以选择(例如 Mill...

joymufeng
39分钟前
0
0
HBase in Practice - 性能、监控及问题解决

李钰(社区ID:Yu Li),阿里巴巴计算平台事业部高级技术专家,HBase开源社区PMC&committer。开源技术爱好者,主要关注分布式系统设计、大数据基础平台建设等领域。连续4年基于HBase/HDFS设计和...

中国HBase技术社区
40分钟前
1
0
ES18-JAVA API 批量操作

1.批量查询 Multi Get API public static void multiGet() {// 批量查询MultiGetResponse response = getClient().prepareMultiGet().add("my_person", "my_index", "1")// 查......

贾峰uk
45分钟前
0
0
SpringBoot2.0使用health

1,引入actuator <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency> 2,application.properties ......

暗中观察
52分钟前
0
0
阿里巴巴Java开发规约

###编程规约 命名风格 【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束 【强制】代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。...

简心
56分钟前
0
0
如何用TypeScript来创建一个简单的Web应用

转载地址 如何用TypeScript来创建一个简单的Web应用 安装TypeScript 获取TypeScript工具的方式: 通过npm(Node.js包管理器) npm install -g typescript 构建你的第一个TypeScript文件 创建...

durban
今天
0
0
分享好友,朋友圈自定义分享链接无效

这个问题是微信6.5.6版本以后,修改了分享规则:分享的连接必须在公众号后台设定的js安全域名内

LM_Mike
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部