Rog*_*use 22 java protocol-buffers
我下载了protobuf-2.5.0.tar.gz,解压缩,执行通常的./configure,make,make check和make install.但是,在Java中使用协议缓冲区似乎需要的文件protobuf.jar似乎不是我下载的部分.更糟糕的是,我无法在任何地方找到此文件.请告诉我如何继续.
mat*_*sev 24
您可以将其添加为Maven依赖项:
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>2.5.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
所有依赖关系信息都可以在Maven Central获得,或者直接下载 .jar文件.
要生成protobuf.jar文件,您需要执行Bruce Martin建议的操作,但您需要执行以下操作:
src/main/java/com/google/protobuf目录bin.java文件:$ javac -d bin *.javabin目录,最后运行以下命令生成protobuf.jar文件:$ jar cvf protobuf.jar com/然后,将jar复制并粘贴到您需要的任何位置.
简单的解决方案是你应该自己编译jar.
这是你在Linux中应该做的
./configure
./make
Run Code Online (Sandbox Code Playgroud)
您可以通过运行./make install来安装protoc
然后你需要jar,让我假设你在ubuntu上
安装maven first sudo apt-get install maven
然后按照/java/README.txt中的说明进行操作
如果你想要标准的罐子
mvn package
Run Code Online (Sandbox Code Playgroud)
如果你想要精简版
mvn package -P lite
Run Code Online (Sandbox Code Playgroud)
然后你可以在/ java/target中找到jar
我假设您使用的是 linux,请尝试转到 java 目录,其中有一个自述文件告诉您如何在不使用 maven 的情况下使用 / 创建 jar。您必须从提供的来源创建 jar。
没有 maven 的指令是:
1) 构建 C++ 代码,或获取 protoc 的二进制分发版。如果您安装二进制分发版,请确保它与此软件包的版本相同。如果有疑问,请运行:
$ protoc --version
Run Code Online (Sandbox Code Playgroud)
如果您在未安装的情况下构建了 C++ 代码,则编译器二进制文件应位于 ../src 中。
2) 调用 protoc 来构建 DescriptorProtos.java:
$ protoc --java_out=src/main/java -I../src \
../src/google/protobuf/descriptor.proto
Run Code Online (Sandbox Code Playgroud)
3) 使用您喜欢的任何方式编译 src/main/java 中的代码。
4) 在您喜欢的任何地方安装这些类。