jhunters / jprotobuf

A useful utility library for java programmer using google protobuf
Apache License 2.0
896 stars 283 forks source link

jprotobuf嵌套对象,多文件导出,嵌套对象定义重复 #198

Closed dogheadpig closed 1 year ago

dogheadpig commented 1 year ago

image image image image image 没有对应 proto文件的import写法

jhunters commented 1 year ago

把导出使用的方式发出来一下

jhunters commented 1 year ago

可以升级插件版本,支持去重的功能。 jprotobuf-precompile-plugin-2.2.9 jprotobuf-precompile-plugin-1.4.5

LucaLq commented 8 months ago

可以升级插件版本,支持去重的功能。 jprotobuf-precompile-plugin-2.2.9 jprotobuf-precompile-plugin-1.4.5

@jhunters 你好,你说的去重是这个配置么<cacheBuildResult>true</cacheBuildResult>,我测试了下还是会重复生成。 这是三个pojo类

@ProtobufClass
public class A {
    public C c;
}

@ProtobufClass
public class B {
    public C c;
}

@ProtobufClass
public class C {
    public String s;
}

生成的A.proto如下

syntax="proto3";
//
message A {  
 C c=1;
}
//
message C { 
 string s=1;
}

生成的B.proto如下

syntax="proto3";
//
message B {  
 C c=1;
}
//
message C { 
 string s=1;
}

生成的C.proto如下

syntax="proto3";
//
message C { 
 string s=1;
}

如上,A.proto和B.proto中重复生成了message C。希望生成的A.proto和B.proto是如下的格式,请问有办法实现吗

syntax="proto3";
import "C.proto"
//
message A {  
 C c=1;
}