我正在尝试让 Tomcat 7(带有 OpenEJB)与 Jersey 1.9 一起使用。我让我的 Jersey RestFUL 服务与 Tomcat 6 一起工作。但是,一旦我将 war 文件部署到 Tomcat 7(OpenEJB),我就会收到以下错误。
我在 Eclipse 中创建了一个新的动态 Web 项目,并将以下 jars 添加到 WEB-INF/lib 文件夹中,而没有添加任何额外的代码,但我仍然遇到同样的错误。Tomcat 7 的 OpenEJB 似乎不喜欢 Jersey jars。
- asm-3.1.jar
- jersey-core-1.9-ea04.jar
- jersey-server-1.9-ea04.jar
原因:org.apache.openejb.OpenEJBException:无法实例化应用程序类:com.sun.jersey.api.core.ResourceConfig:在 org.apache.openejb.config.AnnotationDeployer$ProcessAnnotatedBeans.deploy 处为空(AnnotationDeployer.java:1685 ) 在 org.apache.openejb.config.AnnotationDeployer.deploy(AnnotationDeployer.java:293) 在 org.apache.openejb.config 的 org.apache.openejb.config.AnnotationDeployer$ProcessAnnotatedBeans.deploy(AnnotationDeployer.java:1482)。 ConfigurationFactory$Chain.deploy(ConfigurationFactory.java:263) 在 org.apache.openejb.config.ConfigurationFactory.configureApplication(ConfigurationFactory.java:693) 在 org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:588) ... 23 更多
原因:java.lang.reflect.Constructor.newInstance(Constructor.java:513) 处的 sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:30) 处的 java.lang.InstantiationException (Class) .java:355) 在 java.lang.Class.newInstance(Class.java:308) 在 org.apache.openejb.config.AnnotationDeployer$ProcessAnnotatedBeans.deploy(AnnotationDeployer.java:1682)