jsonschema2pojo 文档中有一个地方,描述了启用JSR-303 annotations generation的可能性。如果我理解正确,则可以通过Maven插件配置来完成。有人可以显示如何完成它,应该在插件配置中使用哪个标签?谢谢大家!

最佳答案

我认为您正在寻找 includeJsr303Annotations 参数。查看插件documentation:

includeJsr303注释

是否在生成的Java类型中包括JSR-303 annotations(用于诸如minimummaximum等架构规则)。模式规则及其产生的注释:


  • maximum = @DecimalMax
  • minimum = @DecimalMin
  • minItemsmaxItems = @Size
  • minLengthmaxLength = @Size
  • pattern = @Pattern
  • required = @NotNull


  • 任何对象或对象数组的Java字段都将使用 @Valid 进行注释,以支持整个文档树的验证。


  • 类型: boolean
  • 由于: 0.3.2
  • 必需:
  • 表达式: ${jsonschema2pojo.includeJsr303Annotations}
  • 默认值: false


  • 可以按以下方式使用:

    <plugins>
        <plugin>
            <groupId>org.jsonschema2pojo</groupId>
            <artifactId>jsonschema2pojo-maven-plugin</artifactId>
            <version>0.4.27</version>
            <configuration>
                <sourceDirectory>${basedir}/src/main/resources/schema</sourceDirectory>
                <targetPackage>com.example.types</targetPackage>
                <includeJsr303Annotations>true</includeJsr303Annotations>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
    

    09-25 21:40