1

我有一个 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

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

4

3 回答 3

1

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

于 2016-05-25T04:54:20.557 回答
1

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

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

无需修改pom.xml

于 2018-10-12T14:29:34.227 回答
0

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

于 2016-05-30T07:47:47.700 回答