2015-04-18 159 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