我整合了一个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}}下提到的警告吗?