我正在开发一个具有Web的应用程序,使用Struts2开发。该应用程序还公开了一个基于Rest的Web服务。为此我使用了Jersey和Jsr311。
我的问题是,当我在Openshift Tomcat6.0(WebEWS1.0)上运行应用程序时,UI工作得很好,但是当我试图访问JBoss服务时,我得到了以下异常:
**HTTP Status 500 - Servlet.init() for servlet Jersey Web Application threw exception**
java.lang.ClassNotFoundException: com.sun.jersey.spi.inject.Errors$Closure
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
com.sun.jersey.server.impl.container.WebApplicationProviderImpl.createWebApplication(WebApplicationProviderImpl.java:55)
com.sun.jersey.spi.container.WebApplicationFactory.createWebApplication(WebApplicationFactory.java:66)
com.sun.jersey.spi.container.servlet.ServletContainer.create(ServletContainer.java:391)
com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.create(ServletContainer.java:306)
com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:605)
com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:208)
com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:373)
com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:556)
javax.servlet.GenericServlet.init(GenericServlet.java:212)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:652)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(Thread.java:744同样的应用程序,当我在本地机器上运行eclipse时,运行得非常好。请帮帮忙,因为我不能继续这件事。
发布于 2014-06-12 02:41:13
确保您在pom.xml文件中指定了所有依赖项,并确保您在Tomcat上使用的OpenShift版本与在本地机器上使用的版本相同(Java6与Java7)。还要注意,OpenShift使用OpenJDK而不是Sun JDK。
https://stackoverflow.com/questions/24164292
复制相似问题