2015-04-24 1 views
0

У меня есть приложение весна-загрузка, который первый упакованная в банке с использованиемЗапуск Jar не используют банки из Lib/* при упаковке с МВН чистой упаковкой

mvn clean package 

Я пытаюсь запустить его как

java -jar target/bootstep-0.0.1-SNAPSHOT.jar 

Но это не удается из-за следующей ошибки.

2015-04-24 16:06:45.425 INFO 27324 --- [ost-startStop-1] c.s.j.api.core.PackagesResourceConfig : Scanning for root resource and provider classes in the packages: 
    com.netflix.discovery 
    com.netflix.eureka 
2015-04-24 16:06:45.470 ERROR 27324 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]  : Exception starting filter servletContainer 

com.sun.jersey.core.spi.scanning.ScannerException: IO error when scanning jar 
.. 
.. 
    at java.lang.Thread.run(Unknown Source) 
Caused by: java.io.FileNotFoundException: C:\springbootproject\target\bootstep-0.0.1-SNAPSHOT.jar!\lib\eureka-client-1.1.147.jar (The system cannot find the path specified) 
    at java.io.FileInputStream.open0(Native Method) 
    at java.io.FileInputStream.open(Unknown Source) 
    at java.io.FileInputStream.<init>(Unknown Source) 
    at java.io.FileInputStream.<init>(Unknown Source) 
    at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source) 
    at sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown Source) 
    at java.net.URL.openStream(Unknown Source) 
    at com.sun.jersey.core.spi.scanning.uri.JarZipSchemeScanner.closing(JarZipSchemeScanner.java:123) 
    at com.sun.jersey.core.spi.scanning.uri.JarZipSchemeScanner.scan(JarZipSchemeScanner.java:75) 

Jar файл эврика-клиент-1.1.147.jar присутствует в Lib папки внутри баночки и MANIFEST.MF также запись об этом.

Просьба предложить.

ответ

3

Проблема из-за ограничений на Джерси - она ​​не может справиться с вложенными файлами JAR. Вам необходимо настроить загрузку для автоматической распаковки любых JAR, содержащих ресурсы JAX-RS, когда запускается приложение, например:

<plugin> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-maven-plugin</artifactId> 
    <configuration> 
     <requiresUnpack> 
      <dependency> 
       <groupId>com.netflix.eureka</groupId> 
       <artifactId>eureka-core</artifactId> 
      </dependency> 
      <dependency> 
       <groupId>com.netflix.eureka</groupId> 
       <artifactId>eureka-client</artifactId> 
      </dependency> 
     </requiresUnpack> 
    </configuration> 
</plugin> 
+0

Это сработало. благодаря – RickDavis

Смежные вопросы