我试图从protobuf生成java类。
下面是我的协议-
syntax = "proto2";
package part2;
option java_package = "part2";
message OnlineStoreUser {
required int32 userid = 1;
required string username = 2;
optional string useremail = 3;
}
我运行命令main/exec/protoc--java\u out=main/java main/proto/datamodel。协议
该协议是从链接https://github.com/protocolbuffers/protobuf/releases/tag/v3.7.1下载的,osx-x86_64.zip.我也尝试了3.8.0和3.9.1版本。
第一个错误是https://gist.github.com/rajcspsg/07c1ddb889410397ba6fc6f26ab2b158#file-gistfile1-txt-L78。找不到此函数的参数UnusedPrivateParameter类型。
第二个错误是https://gist.github.com/rajcspsg/07c1ddb889410397ba6fc6f26ab2b158#file-gistfile1-txt-L890。internalBuildGeneratedFileFrom的2号参数重载版本。
我的proto文件有什么问题。如何解决此问题?
确保您在代码中使用的依赖项与您用作原型编译器的依赖项相同,例如,这里我使用gradle:
compile group: 'com.google.protobuf', name: 'protobuf-java', version: '3.11.1'
我的编译器版本为:
✗ protoc --version
libprotoc 3.11.1
这是我的测试事件:
syntax = "proto2";
option java_package = "com.github.irvifa.protobuf.schema";
message TestEvent {
optional string event_name = 1 [default = "test.event"];
optional string name = 2;
optional string email = 3;
}
这很有效。
您提到的错误只发生在我的版本3.9.1中。版本3.7.1生成的文件不使用带有2个参数的UnusedPrivateParameter或internalBuildGeneratedFileFrom版本。它使用了带有3个参数的版本,这不会导致任何错误。
请检查您使用的是正确的协议版本:
$ main/exec/protoc --version
libprotoc 3.7.1
[ERROR]$home/workspace/javaExamplePbServiceCall/src/main/java/example/ServiceCallPiqi.java:[13,23]ERROR:';‘预期 手工编译产生100个错误,这里是第一个: javac-cp$home/.m2/repository/com/google/protobuf/protobuf-java/2.4.1/
我创建了一个简单的. proto文件并执行了编译器(protoc-2.5.0rc1-win32.zip)。为规定的包生成了一个java文件。但是,生成的文件不会编译。. proto文件很简单,只有一条消息,其中包含一堆简单类型的可选字段(正确编号)。. java文件不编译,例如: 构造函数生成了消息。FieldAccessorTable(Descriptors.Descriptor,字符串[])未
当使用Google Protocol Buffers Version3.0.0(发行版)时,maven编译以下生成的java-class会导致编译器错误: 这只是生成的类之一,所有类的maven错误都是一样的,如下所示: 这些类包含在工作的Maven-Tycho-Build配置中,其类路径上有protobuf-java-3.0.0.jar。在Eclipse中编译代码时,它没有编译器错误。 此外,当
我正在尝试为协议缓冲区构建Java运行时库。我在Windows和OS X上都犯了错误,因为我遵循了Protocol Buffers项目(从中克隆而来)中Java目录下的自述指令https://github.com/google/protobuf). 当我在protobuf/java目录下运行
[]Flutter(Channel master,v1.4.12-pre.27,on Linux,locale en_us.utf-8)•Flutter版本1.4.12-pre.27 at/home/jeremy/fluttersdk/Flutter•Framework修订版a12c5618de(5小时前),2019-04-08 11:22:19-0400•Engine修订版ff1bcdc009•
我们试图从Jenkins构建一个maven工件并将其部署到我们的Nexus存储库管理器中,但是我们在构建过程中遇到了编译错误。这就是我们得到的错误! 错误]无法执行目标org.apache.maven.plugins:maven-compiler-plugin:3.5.1:在项目上编译(default-compile)studentapp:编译失败错误]此环境中没有提供编译器。您可能是在JRE上运