2015-04-18 158 views
0

我在Tomcat 8上運行的Eclipse中創建了Vaadin 7項目。我想在我的應用程序中使用EJB,CDI和JPA。這是我的Ivy.xml無法啓動Tomcat

<dependency org="org.eclipse.persistence" name="javax.persistence" rev="latest.release"/> 
    <dependency org="com.vaadin" name="vaadin-cdi" rev="latest.release"/> 
    <dependency org="javax.inject" name="javax.inject" rev="latest.release"/> 
    <dependency org="javax.ejb" name="ejb-api" rev="latest.release"/> 

但是當我啓動Tomcat時,我得到了下面的錯誤。你知道爲什麼找不到那個班嗎?

SEVERE: A child container failed during start 
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine.StandardHost.StandardContext] 
    at java.util.concurrent.FutureTask.report(Unknown Source) 
    at java.util.concurrent.FutureTask.get(Unknown Source) 
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:917) 
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:871) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1399) 
    at java.util.concurrent.FutureTask.run(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine.StandardHost.StandardContext] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
    ... 6 more 
Caused by: java.lang.NoClassDefFoundError: Ljavax/enterprise/inject/spi/BeanManager; 
    at java.lang.Class.getDeclaredFields0(Native Method) 
    at java.lang.Class.privateGetDeclaredFields(Unknown Source) 
    at java.lang.Class.getDeclaredFields(Unknown Source) 
    at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106) 
    at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:256) 
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationListenerAnnotations(WebAnnotationSet.java:86) 
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:63) 
    at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:334) 
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:774) 
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:305) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) 
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5065) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    ... 6 more 
Caused by: java.lang.ClassNotFoundException: javax.enterprise.inject.spi.BeanManager 
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1305) 
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1157) 
    ... 20 more 
+0

它缺少一個提供javax.enterprise.inject.spi.BeanManager類的JAR .... –

回答

2

平原tomcat的只是一個servlet容器,所以沒有進入春天的世界它只是爲了微不足道的應用程序(沒有JPA,CDI,EBJs ...)的良好基礎。如果你想從Java EE 7獲得最新的東西,你應該看看TomEE如果你喜歡Tomcat或者Wildly

+0

...或任何其他[Java EE 7認證的應用程序服務器](http://en.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition#Certified_application_servers) – wypieprz