2013-03-15 113 views
0

如何解決?我安裝了Java 7,這發生在啓動具有我的應用程序的tomcat時。我認爲這個問題是基於我的應用程序。 (
的Tomcat 7成功運行了。我安裝的Java 7和此安裝問題後卸載Java 6中發生)java.util.concurrent.ExecutionException當啓動tomcat 7

SEVERE: A child container failed during start 
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/m.apus]] 
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/m.apus]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
    ... 7 more 
Caused by: java.lang.NoClassDefFoundError: javax/ejb/FinderException 
    at java.lang.Class.getDeclaredFields0(Native Method)org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556) 
    ... 21 more 
  • 編輯
  • 之前,我安裝了Java 7

LifecycleException內容時發生,我認爲這異常不是基於此。但我不知道爲什麼我會遇到這個例外。

回答

1

使用Java EE庫時,需要支持EJB的文件。對於實現Java EE規範的庫中的類,您已得到java.lang.NoClassDefFoundError。您需要的文件是版本6 Java EE默認參考實現中的javax.ejb.jar。爲您的Java Web應用程序提供Java EE庫。最初,Tomcat不支持EJB。

+0

的Tomcat 7成功運行了。在安裝問題發生之後,我安裝了Java 7並卸載了Java 6。 – kamal 2013-03-15 13:18:44

+0

@kamal - 如果它在JDK 6安裝中成功運行,並且在刪除JDK 6安裝後沒有成功運行,那麼有關*特定安裝的信息*。我敢打賭,你下載了Java EE JAR並將它們存儲在你的JDK中(這是一個壞主意)。 – parsifal 2013-03-15 13:24:08

0

Tomcat 7不是(完整的)Java EE容器。它只是一個servlet/JSP服務器。

如果你需要的EJB,你需要一個完整的Java EE服務器如GlassfishJBoss