2016-05-18 8 views
1

私のアプリケーションのアプリケーションコンテキストを読むことに問題があります。私はVaadinで実験しています。私は他のプロジェクトで以前に使用されてきた方法で注釈を付け、常に動作します私のコンフィギュレーションクラスは、と注釈されている:これはとても奇妙になり何Springのアプリケーションコンテキストが見つかりません

@ImportResource("classpath:applicationContext.xml") 

も、それが明示的に使用して、私は何をすべきかという問題ですファイルを探します。たとえば、

@ImportResource("/tmp/classpath:applicationContext.xml") 

これはまだ動作しません。私は、現時点では春の3使用しています (歴史的な理由のために...)

2016年5月17日13:39 ContextLoader.initWebApplicationContext:319 - コンテキスト 初期化は組織でjava.lang.IllegalArgumentExceptionが を失敗しました.springframework.asm.ClassReader。(不明なソース)org.springframework.asm.ClassReaderで 。(不明なソース)org.springframework.asm.ClassReaderで 。(不明なソース) org.springframework.core.type.classreadingで.SimpleMetadataReader(SimpleMetadataReader.java:52) at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:80)012 org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReaderでorg.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:102) (SimpleMetadataReaderFactory.java:76)org.springframeworkで で。 org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistryでorg.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:253)でcontext.annotation.ConfigurationClassUtils.checkConfigurationClassCandidate(ConfigurationClassUtils.java:70) (ConfigurationClassPostProcessor。 java:223) at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractAppli ORGでorg.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389) でorg.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:461) でcationContext.java:630) 。 (org.eclipse.jetty.server.handler.ContextHandler)の で、SpringFramework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294) をorg.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)に設定します。 callContextInitialized(ContextHandler.java:782) at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:424) at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:774)(WebAppContext.java:1242) at org.eclipse.jetty.server。 (JettyWebAppContext.java:0) (AbstractLifeCycle.java:64) at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:229) at org。 (ContextHandlerCollection.java:172) at org。 eclipse.jetty.util.component.AbstractLifeCycle。(AbstractLifeCycle.java:64) at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:229) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java: 64) at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95) at org.eclipse.jetty.server.Server.doStart(Server.java:282) at org.mortbay。 (AbstractLifeCycle.java:64) at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(ja) AbstractJettyMojo.java:520) at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:365) at org.mortbay.jet (デフォルトビルドプラグインマネージャ.java:134) org.apache.maven.lifecycle.internal.MojoExecutor.executeでorg.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) でMojoExecutor.java:207) (MojoExecutor.java:145) org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProjectでorg.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) (LifecycleModuleBuilder.java:80)org.apacheで で。 maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) (org.apache.maven.DefaultMavenの )。 doExecute(DefaultMaven.java:193) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863) at org。 (ネイティブメソッド) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor Impl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) at org。 (org.codehaus.plexus.class)。 Launcher.Launcher.main(Launcher.java:356)

+0

構成が異なる必要があるようです。あなたはこのに見てきた:https://vaadin.com/wiki?p_p_id=36&p_p_lifecycle=0&p_p_state=normal&p_p_mode=view&p_p_col_id=row-1&p_p_col_pos=2&p_p_col_count=4&_36_struts_action=%2Fwiki%2Fview&p_r_p_185834411_nodeName=vaadin.com+wiki&p_r_p_185834411_title=I+b+-+ + Vaadin + Spring + + Spring + Bootなしで+起動していますか? – LoreV

+0

@LoreV私は、このページのチュートリアルでテストしました。私はまったく同じ例外を得る。私がやろうとしているのは、Springをそのままの状態に保ち、それをvaadinと統合することです。他の作業アプリケーションでアプリケーションコンテキストファイルを削除するだけで、この例外が発生する可能性があります。これについては、それはちょうど非常に奇妙な動作です。 –

+0

githubまたは同様のサービスについて[SSCCE](http://sscce.org/)を共有していただけますか?これは見落としている可能性のあるものを見つけやすくするはずです – Morfic

答えて

0

多くの研究の末、私たちはついに何が起こっているのかを発見しました。非常にこの1トリッキーが、それは理にかなって:

Java 1.8 ASM ClassReader failed to parse class file - probably due to a new Java class file version that isn't supported yet

は、基本的に新しいASMは、クラスにそれがために使用と同じように読んでいないされ、そして春3は、古いASMの互換性でそれらを読んでいます。

https://spring.io/blog/2015/04/03/how-spring-achieves-compatibility-with-java-6-7-and-8

opositeは真実ではありません。これは私が春4に変更された場合にのみ、私は春には、Java 6以降の春4と、古いJavaバージョン間の保証互換性ないJava 8でアプリケーションを実行できるようになりこれは、私がJava 8でSpring 3を実行できないことを意味しています。そのため、今すぐマイグレーション作業を行っています:)。

関連する問題