如何避免jsonschema2pojo生成我已经拥有的重复类?

时间:2016-05-23 09:12:23

标签: java maven jsonschema2pojo

我有一个jsonschema文件,定义了一个我需要的类作为已经存在的POJO的子类(不是由模式定义)

正如我在jsonschema2pojo文档中找到的那样,方法是:

{
...
"type": "object",
"extends": {
  "type": "object",
  "javaType": "com.example.Document"
},
"properties": { ... }

但是,当我运行maven clean install时,编译失败,因为它尝试生成自己的Document类(带有@Json...注释等)并且Maven抛出此错误

error: duplicate class: com.example.Document

根据文档,插件不应该尝试生成已经存在的类。我怎么能避免这个?

3 个答案:

答案 0 :(得分:1)

通过在pom文件的<plugin>部分中添加模块作为jsonschema2pojo的依赖来解决它。

答案 1 :(得分:0)

已经“现有”的类只是一个源文件吗?如果它只是一个java源文件,它将作为mvn clean安装过程的一部分进行编译,那么该插件无法推断出该类的存在。如果此类已经编译并已作为依赖项添加到您的mvn pom中,那么该插件应该跳过创建重复的类。

答案 2 :(得分:0)

这在1.0.0-beta1版中对我有用:

...
  "extends": {
    "type": "object",
    "existingJavaType": "io.radanalytics.operator.common.EntityInfo"
  },
...

无需修改pom.xml