2014-04-01 15 views
8

Nach dem JDK 8 aktualisieren, der Anlegesteg 9 ist nicht mehr in der Lage, die Feder Anmerkungen zu scannen: Ich erhalte die folgenden Fehler:Anlegesteg 9 + JDK 8 + Feder 4 Anmerkungen

MultiException[java.lang.RuntimeException: Error scanning file ApplicationInitializer.class, java.lang.RuntimeException: Error scanning file HibernateConfig.class, java.lang.RuntimeException: Error scanning file MailConfig.class, java.lang.RuntimeException: Error scanning file ServicesConfig.class, java.lang.RuntimeException: Error scanning file WebAppConfig.class] 
at org.eclipse.jetty.annotations.AnnotationConfiguration.scanForAnnotations(AnnotationConfiguration.java:530) 
at org.eclipse.jetty.annotations.AnnotationConfiguration.configure(AnnotationConfiguration.java:441) 
at org.eclipse.jetty.webapp.WebAppContext.configure(WebAppContext.java:466) 
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1342) 
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:745) 
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:492) 
at org.eclipse.jetty.maven.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:282) 
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) 
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:117) 
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:99) 
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:60) 
at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:154) 
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) 

Es funktioniert gut, wenn i benutzt jdk 7.

Die Annotationen es versucht zu scannen sind Federrahmen 4 Anmerkungen so etwas wie:

@Configuration 
@EnableWebMvc 
@ComponentScan("com.cityrentals.rentahouse") 
@Import({ HibernateConfig.class, ServicesConfig.class, MailConfig.class }) 
public class WebAppConfig extends WebMvcConfigurerAdapter { 

Der Fehler unabhängig von tritt auf, wenn die javaassist Abhängigkeit vorhanden ist oder nicht

<dependency> 
    <groupId>org.javassist</groupId> 
    <artifactId>javassist</artifactId> 
    <version>3.18.1-GA</version> 
    </dependency> 

Jede Hilfe ist sehr willkommen

Danke Suresh

Antwort

9

Aufgrund der Versionsunterschiede zwischen spring mvc Java (8) und der in Jetty gebündelten Version von ASM haben Sie die Art von Ausnahmen, die Sie erlebt haben.

Sie müssen die Versionen kompatibel machen miteinander durch ASM 5.xx Herunterladen und ersetzt die folgenden zwei Dateien in den Jetty-Installationsordner:

  1. asm-4.x.jar mit asm-5 .xx.jar

  2. asm-commons-4.x.jar mit asm-commons-5.xx.jar

+1

Problem scheint in Anlegesteg-9.2.2 festgelegt werden (vielleicht früher) –

3

mit Anlegesteg-9.1.x, Java 8 und Spring 4 die Antwort Ingwer Kopf ist richtig. Nur um zu ergänzen, dass die Antwort:

Wenn Sie die Anlegestelle Starter mit Version 9.1.x verwenden Sie feststellen, dass es eine gebündelte Version von asm verwendet (im Glas gebündelt). Um mit der mitgelieferten Version arbeiten zu können, musste ich die asm-jars auf dem classpath vor dem Jetty-runner-jar hinzufügen und dann den jetty-runner ohne die -jar flag starten und stattdessen auf die Hauptklasse (org .eclipse.jetty.runner.Runner).

Also, das IS Arbeits:

java -cp lib/asm-5.x.jar:lib/asm-commons-5.x.jar:lib/asm-tree-5.x.jar:lib/jetty-runner.jar org.eclipse.jetty.runner.Runner foo.war 

Das Folgende ist NICHT Arbeits:

java -cp -jar lib/jetty-runner.jar foo.war 
or 
java -cp lib/asm-5.x.jar:lib/asm-commons-5.x.jar:lib/asm-tree-5.x.jar -jar lib/jetty-runner.jar foo.war 
+3

Schnell Dieses Problem wurde in späteren Versionen von Jetty (oder genauer gesagt in Version 9.2.0.v20140526) behoben. Die neue Version benötigt keine spezielle Handhabung der asm-jars für Java 8, Jetty 9 und Spring 4 - sie sollte out-of-the-box funktionieren. – wassgren