我下载了 protobuf-2.5.0.tar.gz,将其解压缩,然后执行通常的 ./configure、make、make 检查和 make install。但是,在 Java 中使用协议缓冲区似乎需要的文件 protobuf.jar 似乎不是我下载的文件的一部分。更糟糕的是,我在任何地方都找不到这个文件。请告诉我如何进行。
10 回答
您可以将其添加为 Maven 依赖项:
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>2.5.0</version>
</dependency>
所有依赖信息都可以在Maven Central获得,或者直接下载.jar 文件。
要生成protobuf.jar
文件,您需要按照 Bruce Martin 的建议进行操作,但随后需要执行以下操作:
- 导航到
src/main/java/com/google/protobuf
目录 - 创建一个名为
bin
- 运行以下命令来构建
.java
文件:$ javac -d bin *.java
- 导航到
bin
目录,最后,运行以下命令生成protobuf.jar
文件:$ jar cvf protobuf.jar com/
然后,将 jar 复制并粘贴到您需要的任何位置。
简单的解决方案是您应该自己编译 jar。
- 从https://code.google.com/p/protobuf/downloads/list下载 src 代码
- 解压缩并按照 README 中的说明进行操作
这是您在 Linux 中应该做的事情
./configure
./make
您可以通过运行 ./make install 来安装协议
然后你需要这个罐子,让我假设你在 ubuntu
先安装 maven sudo apt-get install maven
然后按照 /java/README.txt 中的说明进行操作
如果你想要标准的罐子
mvn package
如果你想要精简版
mvn package -P lite
然后你可以在/java/target中找到jar
我假设您在 linux 上,尝试转到 java 目录,有一个自述文件告诉您如何使用/不使用 maven 创建 jar。您必须从提供的来源创建 jar。
没有 maven 的指令是:
1) 编译 C++ 代码,或获取 protoc 的二进制分布。如果您安装二进制发行版,请确保它与此软件包的版本相同。如果有疑问,请运行:
$ protoc --version
如果您在未安装的情况下构建了 C++ 代码,则编译器二进制文件应位于 ../src 中。
2)调用protoc构建DescriptorProtos.java:
$ protoc --java_out=src/main/java -I../src \
../src/google/protobuf/descriptor.proto
3) 使用您喜欢的任何方式编译 src/main/java 中的代码。
4) 在您喜欢的任何地方安装课程。
要使用 protobuf java 创建 protobuf.jar 文件,请执行以下步骤:
1.检查安装的protobuf版本:
$protoc --version
2.安装Java和Maven,检查它们的版本:
$mvn --version
$java -version
3.生成protobuf.jar文件,进入/protobuf/java目录。运行以下命令,
$mvn test
$mvn install
$mvn package
检查 /protobuf/java/core/target/ 目录,.jar 将被放置在“target”目录中。
您可以从此链接下载 google 的 protobuf.jar
该页面提供了几乎所有开发所需的 jar。我下载并在项目中使用它
您想下载“.jar”文件并排除 maven。然后
试试链接“ https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/2.6.1/ ”
应该点击这个链接。“ https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/ ” 然后你看所有版本。