2014-04-07 2 views
1

Jax-Rs Jersey (1.16) Restful 서비스 응용 프로그램을 멋지게 통합했습니다. 응용 프로그램은 봄 부팅을 사용하여 시작합니다. java -jar my-service-1.0-SNAPSHOT.jar을 사용하여 응용 프로그램을 실행하고 http://localhost:8080/index.html에 액세스하여 JaxRs 리소스를 나열 할 때 아래 예외가 발생합니다.swagger 및 스프링 부트 통합이 ScannerException을 던졌습니다.

 
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) 

나는 spring-boot-gradle-plugin 포함 gradle build를 사용하여 지방 항아리를 구축 할 수 있습니다. swagger-jersey-jaxrs_2.10-1.3.4.jar이 뚱뚱한 항아리에 번들 된 것을 볼 수있었습니다. 내가 무엇이 누락 되었습니까?
다른 방법 (예 : gradle distZip)으로 애플리케이션을 실행하고 zip 콘텐츠를 디렉토리로 추출하고 gradle로 만든 애플리케이션 실행 스크립트 파일을 실행할 수 있습니다. 하지만 Zip 콘텐츠 추출 단계를 피하기 위해 java -jar을 사용하여 실제로 실행하고 싶습니다.

[편집]아래에 언급 된주의 사항입니까? Caveats 섹션에 있습니까?

+0

나는이 블로그의주의 사항과는 아무런 관련이 없다고 생각합니다. 너는 왜 다르게 생각하니? 반면에 더 많은 데이터가 없으면 그것이 무엇인지 말할 수 없습니다. Jersey 2를 사용하는 [swapger] 예제 (https://github.com/scratches/jersey-swagger-demo)가 있습니다. Jersey 1이 그만한 가치가 있다고 확신 할 수는 없지만, 귀하의 코드를 공유 할 수 있습니다. –

+1

https://java.net/jira/browse/JERSEY-2085 – abalogh

+0

@abalogh이 jira 링크 메모를 답으로 제공해 주시면 투표하고 동의하겠습니다. –

답변

1

문서화 된 Jersey 버그입니다 (here 참조).

관련 문제