swagger和spring boot集成抛出ScannerException

时间:2014-04-07 19:56:14

标签: spring-boot swagger

我整合了一个Jax-Rs Jersey(1.16)Restful服务应用程序。应用程序使用spring boot启动。当我使用 java -jar my-service-1.0-SNAPSHOT.jar 运行应用程序并访问http://localhost:8080/index.html以列出JaxRs资源时,我会看到以下异常。

14:01:53,135 INFO  Scanning for root resource and provider classes in the packages:
  com.company.automation.impl
  com.wordnik.swagger.jersey.listing       [http-nio-8080-exec-1] PackagesResourceConfig
14:01:53,435 ERROR StandardWrapper.Throwable                                                                                                                              [http-nio-8080-exec-1] [/]
com.sun.jersey.core.spi.scanning.ScannerException: IO error when scanning jar jar:file:/home/suman/dev/projects/MyService/my-service/build/libs/my-service-1.0-SNAPSHOT.jar!/lib/swagger-jersey-jaxrs_2.10-1.3.4.jar!/com/wordnik/swagger/jersey/listing
    at com.sun.jersey.core.spi.scanning.uri.JarZipSchemeScanner.scan(JarZipSchemeScanner.java:82)
    at com.sun.jersey.core.spi.scanning.PackageNamesScanner.scan(PackageNamesScanner.java:225)
    at com.sun.jersey.core.spi.scanning.PackageNamesScanner.scan(PackageNamesScanner.java:141)
    at com.sun.jersey.api.core.ScanningResourceConfig.init(ScanningResourceConfig.java:80)

我使用gradle build包括spring-boot-gradle-plugin来构建胖罐。我可以看到swagger-jersey-jaxrs_2.10-1.3.4.jar与胖罐捆绑在一起。 我错过了什么?
我可以通过其他方式运行应用程序,例如gradle distZip并将zip内容解压缩到一个目录中并运行由gradle创建的应用程序运行脚本文件。但我真的想使用java -jar运行它以避免提取zip内容步骤。

[编辑] 这是Caveats部分{{1}}下提到的警告吗?

1 个答案:

答案 0 :(得分:1)

这是一个记录在案的泽西岛漏洞,请参阅here