2017-06-29 8 views
0

Eclipse Mars(Neon)のモジュールに分割することにしました。 1つのモジュールはwar REST Serviceとして展開できます。使用する統合のTomcat(バージョン8.0.41)を使用して:右サーバーでサーバーをクリックして表示 - >原因を追加および削除:展開ユーティリティモジュールを使用したTomcatのEclipseでHibernate 5とSpring 4を使用した複合プロジェクトが失敗しました

15:42:21.104 [localhost-startStop-1] INFO o.s.web.context.ContextLoader - Root WebApplicationContext: initialization started 
    15:42:21.123 [localhost-startStop-1] INFO o.s.w.c.s.AnnotationConfigWebApplicationContext - Refreshing Root WebApplicationContext: startup date [Thu Jun 29 15:42:21 CEST 2017]; root of context hierarchy 
    15:42:21.201 [localhost-startStop-1] INFO o.s.w.c.s.AnnotationConfigWebApplicationContext - Registering annotated classes: [class com.deepam.spring.config.AppRestConfig] 
    15:42:21.218 [localhost-startStop-1] ERROR o.s.web.context.ContextLoader - Context initialization failed 
    java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy 
     at sun.reflect.annotation.AnnotationParser.parseClassArray(AnnotationParser.java:724) 
     at sun.reflect.annotation.AnnotationParser.parseArray(AnnotationParser.java:531) 
     at sun.reflect.annotation.AnnotationParser.parseMemberValue(AnnotationParser.java:355) 
     at sun.reflect.annotation.AnnotationParser.parseAnnotation2(AnnotationParser.java:286) 
     at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:120) 
     at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:72) 
     at java.lang.Class.createAnnotationData(Class.java:3521) 
     at java.lang.Class.annotationData(Class.java:3510) 
     at java.lang.Class.getAnnotations(Class.java:3446) 
     at org.springframework.core.type.StandardAnnotationMetadata.<init>(StandardAnnotationMetadata.java:68) 
     at org.springframework.beans.factory.annotation.AnnotatedGenericBeanDefinition.<init>(AnnotatedGenericBeanDefinition.java:56) 
     at org.springframework.context.annotation.AnnotatedBeanDefinitionReader.registerBean(AnnotatedBeanDefinitionReader.java:167) 
     at org.springframework.context.annotation.AnnotatedBeanDefinitionReader.registerBean(AnnotatedBeanDefinitionReader.java:142) 
     at org.springframework.context.annotation.AnnotatedBeanDefinitionReader.register(AnnotatedBeanDefinitionReader.java:131) 
     at org.springframework.web.context.support.AnnotationConfigWebApplicationContext.loadBeanDefinitions(AnnotationConfigWebApplicationContext.java:210) 
     at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129) 
     at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:614) 
     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:515) 
     at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:443) 
     at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:325) 
     at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107) 
     at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4851) 
     at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314) 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) 
     at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408) 
     at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
     at java.lang.Thread.run(Thread.java:745) 
    Jun 29, 2017 3:42:21 PM org.apache.catalina.core.StandardContext listenerStart 
    SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener 
    java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy 
     at sun.reflect.annotation.AnnotationParser.parseClassArray(AnnotationParser.java:724) 
     at sun.reflect.annotation.AnnotationParser.parseArray(AnnotationParser.java:531) 
     at sun.reflect.annotation.AnnotationParser.parseMemberValue(AnnotationParser.java:355) 
     at sun.reflect.annotation.AnnotationParser.parseAnnotation2(AnnotationParser.java:286) 
     at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:120) 
     at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:72) 
     at java.lang.Class.createAnnotationData(Class.java:3521) 
     at java.lang.Class.annotationData(Class.java:3510) 
     at java.lang.Class.getAnnotations(Class.java:3446) 
     at org.springframework.core.type.StandardAnnotationMetadata.<init>(StandardAnnotationMetadata.java:68) 
     at org.springframework.beans.factory.annotation.AnnotatedGenericBeanDefinition.<init>(AnnotatedGenericBeanDefinition.java:56) 
     at org.springframework.context.annotation.AnnotatedBeanDefinitionReader.registerBean(AnnotatedBeanDefinitionReader.java:167) 
     at org.springframework.context.annotation.AnnotatedBeanDefinitionReader.registerBean(AnnotatedBeanDefinitionReader.java:142) 
     at org.springframework.context.annotation.AnnotatedBeanDefinitionReader.register(AnnotatedBeanDefinitionReader.java:131) 
     at org.springframework.web.context.support.AnnotationConfigWebApplicationContext.loadBeanDefinitions(AnnotationConfigWebApplicationContext.java:210) 
     at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129) 
     at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:614) 
     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:515) 
     at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:443) 
     at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:325) 
     at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107) 
     at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4851) 
     at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314) 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) 
     at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408) 
     at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
     at java.lang.Thread.run(Thread.java:745) 

    Jun 29, 2017 3:42:21 PM org.apache.catalina.core.StandardContext startInternal 
    SEVERE: One or more listeners failed to start. Full details will be found in the appropriate container log file 
    Jun 29, 2017 3:42:21 PM org.apache.catalina.util.SessionIdGeneratorBase createSecureRandom 
    INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [201] milliseconds. 
    Jun 29, 2017 3:42:21 PM org.apache.catalina.core.StandardContext startInternal 
    SEVERE: Context [/SpringOracleJDBCJPAREST] startup failed due to previous errors 
    Jun 29, 2017 3:42:21 PM org.apache.catalina.core.ApplicationContext log 
    INFO: Closing Spring root WebApplicationContext 
    Jun 29, 2017 3:42:21 PM org.apache.catalina.core.StandardContext listenerStop 
    SEVERE: Exception sending context destroyed event to listener instance of class org.springframework.web.context.ContextLoaderListener 
    java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext 
     at org.springframework.context.support.AbstractRefreshableApplicationContext.getBeanFactory(AbstractRefreshableApplicationContext.java:170) 
     at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1030) 
     at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1006) 
     at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:958) 
     at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:583) 
     at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:116) 
     at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4898) 
     at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5537) 
     at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:221) 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:149) 
     at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408) 
     at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
     at java.lang.Thread.run(Thread.java:745) 

を私のEclipseからこのように生成された同じ.warファイル場合:右[親プロジェクト] - [ファイル名を指定して実行] - [Mavenインストール]{Apache Tomcat Innstallation}/webaapsディレクトリに手動で入れると、エラーなしで正常に動作します。 コンテキストの初期化に失敗しましたエラーが発生しましたか? P.P. 1つの大きなプロジェクトがすべて一緒にマージされても、展開に問題はありません。期待どおりに動作します。

答えて

0

解決策は、Tomcat統合環境から.warファイルをアンデプロイして、直接$ tomcat_home/webappsデプロイメントディレクトリにコピーすることです。すべての設定は、以前設定されたとおりにすることができます。つまり、EclipseからTomcatを管理することもできます。 EclipseからTomcatを再起動し、コンソールビューなどを使ってログを調べることができます。 Contextにはさらに設定が必要か、バグですが、この回避策はうまくいきます。 自動配備が不可能であり、Tomcatは配備されたモジュールをView Serverに表示しないという1つの制限があります。

enter image description here

enter image description here

関連する問題