2014-04-01 8 views
8

가, 부두 (9)는 더 이상 스프링 주석을 검색 할 수 있습니다 : 나는 다음과 같은 오류가 발생합니다 :부두 9 + JDK 8 + 스프링 (4) 주석 JDK 8로 업그레이드 한 후

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) 

그것은 잘 작동 할 때 난을 중고 JDK 7. 오류에 관계없이 javaassist 의존성이 존재하는 경우의 여부를

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

발생 어떤 도움이 많이 감사합니다

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

:

은 스캔을 시도 주석은 4 주석 무언가 같이 스프링 프레임 워크입니다

감사합니다. 수레시

답변

9

스프링 mvc Java (8)와 Jetty에 번들 된 ASM 버전 사이의 버전 차이로 인해 예외가 발생했습니다. ASM-5

  1. ASM-4.x.jar :

    당신은 부두 설치 폴더 내에서 다음이 개 파일을 ASM 5.xx의 다운로드 및 교체에 의해 서로 호환 버전을 만들 필요가 ASM-공유지-5.xx.jar

+1

문제가 (아마 이전) 부두-9.2.2에서 수정 될 것으로 보인다 –

3

와 .xx.jar

  • ASM - 평민 - 4.x.jar 부두-9.1.x, 자바 (8) 및 스프링 (4) 대답하여 사용 진저 머리가 맞습니다. 당신이 (항아리에 번들) ASM의 번들 버전을 사용하는 당신이 알 수 있습니다 버전 9.1.x로 부두 주자를 사용하는 경우

    : 그냥 그 답을 보충합니다. 번들 된 버전으로 작업하게하려면 클래스 경로에 asm-jars를 추가하고 -jar 플래그없이 jetty-runner를 시작하고 대신 메인 클래스 (org .eclipse.jetty.runner.Runner).

    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 
    

    는 IS 다음 작동하지 :

    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

    빠른

    그래서,이 작업입니다 이 문제는 이제 이후 버전의 Jetty에서 (또는 특히 버전 9.2.0.v20140526에서) 해결되었습니다. 새 버전에서는 Java 8, Jetty 9 및 Spring 4 용 asm-jar를 특별히 처리 할 필요가 없습니다. 즉, 즉시 사용할 수 있어야합니다. – wassgren