首页 > 解决方案 > Swagger 包 javax.validation.constraints 不存在

问题描述

我在使用swagger-codegenMaven 构建招摇的 Java 客户端时遇到了麻烦。它使用 Java 1.8 和 Maven 3.6 在我的 CI 上构建。我看到了这个:

... package javax.validation.constraints does not exist
... package javax.validation does not exist

我的配置的相关部分是:

{
  "library": "resttemplate",
  "configOptions": {
    "dateLibrary": "java8"
  },
  "useBeanValidation": true
}

我用来生成 api 的命令是:

java -jar swagger-codegen-cli.jar generate -i swagger.json -l java -o ./generated/ -c swagger-java-config.json

我预计 Java 11 会发生此错误。此外,我在 Java 客户端的官方resttemplatepom.xml模板中看不到所需的导入。

标签: javaswaggerswagger-codegen

解决方案


问题出"useBeanValidation": true在配置上。此选项仅适用于生成的服务器,不适用于客户端。将java -jar swagger-codegen.jar config-help -L java显示此选项,因为它不区分library所选内容(在您的情况下resttemplate)。特定于resttemplate不改变java语言模板输出的代码的模板。


推荐阅读