[解决]--java_out: User.proto: User.proto: Cannot generate Java output because the file 's
Posted 冰花ぃ雪魄
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[解决]--java_out: User.proto: User.proto: Cannot generate Java output because the file 's相关的知识,希望对你有一定的参考价值。
在使用 protocol buffer 的时候,用.proto文件生成代码文件时报错
使用命令
protoc.exe --java_out c:\logs\ User.proto
User.proto文件内容格式如下
message User{ required string userName = 1[default=""]; required string password = 2[default=""]; } 使用cmd命令时出现如下错误
--java_out: User.proto: User.proto: Cannot generate Java output because the file
‘s outer class name, "User", matches the name of one of the types declared insid
e it. Please either rename the type or use the java_outer_classname option to s
pecify a different outer class name for the .proto file.
解决方法:
原因User.proto文件名和里面的类名重复,文件名是User 里面内容message User都使用 User
修改User.proto文件名改成不和里面类名重复的就可以了,这里改成UserProtobuff
然后运行protoc.exe --java_out c:\logs\ UserProtobuff.proto 运行成功了。
第二种解决方法:
在ptoto文件中添加i行
option java_outer_classname="ReservationTypeOuterClass";
来指定生成的java类的类名
以上是关于[解决]--java_out: User.proto: User.proto: Cannot generate Java output because the file 's的主要内容,如果未能解决你的问题,请参考以下文章