如何避免 jsonschema2pojo 生成我已经拥有的重复项 类?
How do I avoid jsonschema2pojo generating duplicate classes that I already have?
我有一个 jsonschema 文件定义了我需要的 class 作为已经存在的 POJO(未由模式定义)的 child class
正如我在 jsonschema2pojo 文档中找到的那样,方法是:
{
...
"type": "object",
"extends": {
"type": "object",
"javaType": "com.example.Document"
},
"properties": { ... }
然而,当我 运行 maven 全新安装时,编译失败,因为它试图生成自己的文档 class(带有 @Json...
注释等)并且 Maven 抛出这个错误
error: duplicate class: com.example.Document
根据文档,插件不应尝试生成已经存在的 class。我怎样才能避免这种情况?
已经"existing" class只是一个源文件吗?如果它只是一个 java 源文件,将作为 mvn clean install 过程的一部分进行编译,那么插件无法推断出此 class 的存在。如果此 class 已编译并已作为依赖项添加到您的 mvn pom,则插件应跳过创建副本 class.
通过在 pom 文件的 <plugin>
部分添加模块作为 jsonschema2pojo 的依赖项来解决它。
这在版本 1.0.0-beta1
中对我有用:
...
"extends": {
"type": "object",
"existingJavaType": "io.radanalytics.operator.common.EntityInfo"
},
...
无需修改pom.xml
我有一个 jsonschema 文件定义了我需要的 class 作为已经存在的 POJO(未由模式定义)的 child class
正如我在 jsonschema2pojo 文档中找到的那样,方法是:
{
...
"type": "object",
"extends": {
"type": "object",
"javaType": "com.example.Document"
},
"properties": { ... }
然而,当我 运行 maven 全新安装时,编译失败,因为它试图生成自己的文档 class(带有 @Json...
注释等)并且 Maven 抛出这个错误
error: duplicate class: com.example.Document
根据文档,插件不应尝试生成已经存在的 class。我怎样才能避免这种情况?
已经"existing" class只是一个源文件吗?如果它只是一个 java 源文件,将作为 mvn clean install 过程的一部分进行编译,那么插件无法推断出此 class 的存在。如果此 class 已编译并已作为依赖项添加到您的 mvn pom,则插件应跳过创建副本 class.
通过在 pom 文件的 <plugin>
部分添加模块作为 jsonschema2pojo 的依赖项来解决它。
这在版本 1.0.0-beta1
中对我有用:
...
"extends": {
"type": "object",
"existingJavaType": "io.radanalytics.operator.common.EntityInfo"
},
...
无需修改pom.xml