swagger 您访问的页面不存在,

dphi5xsq  于 2023-06-22  发布在  其他
关注(0)|答案(2)|浏览(103)

为什么swagger-codegen生成的项目缺少依赖项?
运行:java -jar swagger-codegen-cli.jar generate -l java -i swagger.json
使用以下内容生成项目,例如:

@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2021-04-27T18:37:06.211+08:00")
public class Table {
  @SerializedName("requiredIndexColumns")
  private List<Column> requiredIndexColumns = null;

其中javax.annotation.Generate无法解析。然后编译生成的项目抛出:Error:(33,18) java: package javax.annotation does not exist
下面是如何测试这一点(使用公共swagger):

wget https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.19/swagger-codegen-cli-2.4.19.jar -O swagger-codegen-cli.jar

然后运行:

java -jar swagger-codegen-cli.jar generate -l java -i https://petstore.swagger.io/v2/swagger.json -o petstore
g6baxovj

g6baxovj1#

格式化Scratte留下的注解,如果您使用的是jdk11,则需要在依赖项管理工具中显式地添加dependency
例如在maven中

<dependency>
      <groupId>javax.annotation</groupId>
      <artifactId>javax.annotation-api</artifactId>
      <version>${javax-annotation-api.version}</version>
    </dependency>
oxalkeyp

oxalkeyp2#

解决方案是使用以下命令运行:
java -jar swagger-codegen-cli.jar generate -l java -i https://petstore.swagger.io/v2/swagger.json -o petstore -DhideGenerationTimestamp=true
在Java类中关闭@javax.annotation.Generated date的选项

相关问题