9

JDK 8 にアップグレードした後、jetty 9 はスプリング アノテーションをスキャンできなくなりました。次のエラーが表示されます。

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 を使用したときは正常に動作していました。

スキャンしようとする注釈は、次のようなSpring Framework 4の注釈です。

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

javaassist 依存関係が存在するかどうかに関係なく、エラーが発生します。

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

どんな助けでも大歓迎です

ありがとう

4

2 に答える 2

9

spring mvc Java (8) と Jetty にバンドルされている ASM のバージョンのバージョンが異なるため、経験したような例外があります。

ASM 5.xx をダウンロードし、Jetty インストール フォルダー内の次の 2 つのファイルを置き換えることによって、バージョンを相互に互換性を持たせる必要があります。

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

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

于 2014-04-02T10:16:00.307 に答える