【问题标题】:How to generate classes with duplicate name in separate packages using jsonschema2pojo?如何使用 jsonschema2pojo 在单独的包中生成具有重复名称的类?
【发布时间】:2017-02-05 07:30:14
【问题描述】:
我正在使用jsonschema2pojo-maven-plugin (0.4.19) 从 JSON 文件生成 Java 类。
我有 2 个 JSON 文件,它们具有具有不同属性的相同字段“xyz”。
因此,一旦我从第二个 JSON 文件生成“xyz”类,它就会替换第一个“xyz”类。
有没有办法在单独的包中创建第二类,或者有没有其他方法可以避免这个问题?
【问题讨论】:
-
尝试为每个模式定义不同的javaType 属性。来自this_issue --- 显然,我可以添加如下使用“javaType”属性来强制生成该类,但这也迫使我将 java 代码引用放入我感觉不对的架构中。跨度>
标签:
java
maven
jsonschema2pojo
【解决方案1】:
将每个 JSON 文件移动到源包中的不同子文件夹:
${basedir}/src/main/resources/schema/request/request.json
${basedir}/src/main/resources/schema/response/response.json
然后用这个配置:
<configuration>
<sourceDirectory>${basedir}/src/main/resources/schema</sourceDirectory>
<targetPackage>com.example.types</targetPackage>
</configuration>
将生成2个目标包:
com.example.types.request.*
com.example.types.response.*