2017-02-02 12 views
2

Я использую Jersey-2.25.1 с Spring Framework 4.3.5 в среде Jetty-9.3.3. Моя ОС - Centos 7 и JDK 8. Во время развертывания я получаю следующую ошибку:jersey-spring3 (2.25.1) производит ошибку «Ошибка при запуске контекста» в jetty-9.3.3

Примечание: Произошла следующая ошибка, только если в pom.xml добавлена ​​зависимость jersey-spring3.

Failed startup of context [email protected]{/test-service,file:///.../test-service/,STARTING} 
java.lang.RuntimeException: Error scanning entry module-info.class from jar file:///.../test-service/WEB-INF/lib/asm-all-repackaged-2.5.0-b32.jar 
     at org.eclipse.jetty.annotations.AnnotationParser.parseJar(AnnotationParser.java:925) 
     at org.eclipse.jetty.annotations.AnnotationParser.parse(AnnotationParser.java:842) 
     at org.eclipse.jetty.annotations.AnnotationConfiguration$ParserTask.call(AnnotationConfiguration.java:163) 
     at org.eclipse.jetty.annotations.AnnotationConfiguration$1.run(AnnotationConfiguration.java:545) 
     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654) 
     at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572) 
     at java.lang.Thread.run(Thread.java:745) 
Caused by: 
java.lang.IllegalArgumentException 
     at org.objectweb.asm.ClassReader.<init>(Unknown Source) 
     at org.objectweb.asm.ClassReader.<init>(Unknown Source) 
     at org.objectweb.asm.ClassReader.<init>(Unknown Source) 
     at org.eclipse.jetty.annotations.AnnotationParser.scanClass(AnnotationParser.java:988) 
     at org.eclipse.jetty.annotations.AnnotationParser.parseJarEntry(AnnotationParser.java:970) 
     at org.eclipse.jetty.annotations.AnnotationParser.parseJar(AnnotationParser.java:921) 
     at org.eclipse.jetty.annotations.AnnotationParser.parse(AnnotationParser.java:842) 
     at org.eclipse.jetty.annotations.AnnotationConfiguration$ParserTask.call(AnnotationConfiguration.java:163) 
     at org.eclipse.jetty.annotations.AnnotationConfiguration$1.run(AnnotationConfiguration.java:545) 
     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654) 
     at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572) 
     at java.lang.Thread.run(Thread.java:745) 

ли проблема с Jetty-х /lib/annotations/asm-5.0.1.jar и ASM-Обще-5.0.1.jar или джерси-spring3.jar?

+0

ли вы исключите все пружине 3 зависимости от Джерси-spring3? –

+0

@peeskillet, Нет. На самом деле мы хотели бы сохранить наши собственные зависимости Spring. – MFH

ответ

4

Я посмотрел в модуль-info.class файл

$ javap -v ./module-info.class 
... 
class org.glassfish.hk2.external.org.objectweb.asm.all.debug.module-info 
minor version: 0 
major version: 53 

Таким образом, он собран с Java 9, и это является частью new module system in java 9.

В любом случае, нет необходимости в сканировании этого файла (особенно с помощью java 8).

Я исправил проблему, за исключением asm-all-repackaged.jar от причала сканирования аннотаций:

<plugin> 
    <groupId>org.eclipse.jetty</groupId> 
    <artifactId>jetty-maven-plugin</artifactId> 
    <version>9.4.0.v20161208</version> 
    <configuration> 
    <webApp> 
     ... 
     <webInfIncludeJarPattern>.*/^(asm-all-repackaged)[^/]*\.jar$</webInfIncludeJarPattern> 
    </webApp> 
    </configuration> 
</plugin> 

Здесь documentation about webInfIncludeJarPattern

+4

Во всяком случае, я не добавил вышеупомянутое решение. Я явно объявлял asm-all-repackaged-2.4.0 на моем pom.xml в качестве зависимости от ** разрешения ** этой проблемы. \t org.glassfish.hk2.external ASM-аль л-переупаковываются \t 2,4 0,0. Теперь это нормально. – MFH

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

  • Нет связанных вопросов^_^