首先,需要确认确实是因为 java_outer_classname 无法被引用导致的问题。可以查看编译错误提示,确认问题的根源。 查看.proto文件 打开你的 .proto 文件,查看其中是否正确设置了 java_outer_classname。假设设置如下: optionjava_outer_classname="MyClass"; 1. 修改.proto文件 确认设置正确后,可以继续进行修改。在 .pro...
option java_package=“xxx/xxx” 该选项指定了java文件生成的路径 option java_outer_classname=“xxx” 该选项制定了生成的java类名 3、消息类型 3.1 message Protobuf中定义一个消息类型是通过关键字message字段指定的,这个关键字类似于C++/Java中的class关键字,使用protobuf编译器将proto编译成C++代码之后,每个mess...
java_outer_classname(file option):要生成的最外层Java类(以及文件名)的类名。如果 .proto文件中没有指定 java_outer_classname,则通过将.proto文件名转换为驼峰格式(因此 foo_bar.proto 成为FooBar.java)来构造类名。如果不生成Java代码,则此选项无效。 代码语言:javascript 代码运行次数:0 运行 AI代码解释 opt...
然后是三个专门给java程序使用的option。java_multiple_files, java_package, 和 java_outer_classname. 其中java_multiple_files指编译过后java文件的个数,如果是true,那么将会一个java对象一个类,如果是false,那么定义的java对象将会被包含在同一个文件中。 java_package指定生成的类应该使用的Java包名称。 如果没...
java_multiple_files, java_package, 和 java_outer_classname. 其中java_multiple_files指编译过后java文件的个数,如果是true,那么将会一个java对象一个类,如果是false,那么定义的java对象将会被包含在同一个文件中。 java_package指定生成的类应该使用的Java包名称。 如果没有明确的指定,则会使用之前定义的package...
option java_package = "com.example.foo"; 1. java_outer_classname (文件选项): 该选项表明想要生成Java类的名称。如果在.proto文件中没有明确的java_outer_classname定义,生成的class名称将会根据.proto文件的名称采用驼峰式的命名方式进行生成。如(foo_bar.proto生成的java类名为FooBar.java),如...
option java_outer_classname = "Animo"; message Cat{ string name = 1; int32 age =2; } message Dog{ string name = 1; int32 age =2; } 测试代码 @Test public void test2(){ Animo.Cat.Builder cat = Animo.Cat.newBuilder(); cat.setAge(1); ...
实战用proto文件自动生成java代码 明确依赖库和开发环境 整个系列文章涉及的依赖库和开发环境的情况如下: JDK:1.8.0_281 gradle:6.7.1 springboot:2.3.8.RELEASE grpc:1.35.0 protobuf:3.14.0 grpc-server-spring-boot-starter:2.11.0.RELEASE grpc-client-spring-boot-starter:2.11.0.RELEASE ...
option java_outer_classname:生成的java文件的文件名 message : 为他的基本类型,如同java中的class一样 字段修饰符: required:一个格式良好的消息一定要含有1个这种字段。表示该值是必须要设置的; optional:消息格式中该字段可以有0个或1个值(不超过1个)。
java_outer_classname选项定义将表示此文件的包装类的类名。 如果没有给java_outer_classname赋值,它将通过将文件名转换为大写驼峰来生成。 例如,默认情况下,“student.proto”将使用”Student”作为包装类名称。 接下来的部分是消息的定义,对于简单类型来说可以使用bool, int32, float, double, 和 string来定义字段...