Java Tomcat无法部署旧的webapp
我在尝试将为Resin服务器开发的旧webapp(不创建war容器或ejb jar.xml)移动到Tomcat7服务器时遇到了阻碍。我所做的是:在Eclipse中创建一个动态Web项目,包括代码,并使用声明创建EJBJAR。还使用servlet创建了web.xml文件。正确编译后,我将其导出到一个WAR文件中,并在Tomcat中部署该文件 这就是错误:Java Tomcat无法部署旧的webapp,java,eclipse,tomcat,servlets,resin,Java,Eclipse,Tomcat,Servlets,Resin,我在尝试将为Resin服务器开发的旧webapp(不创建war容器或ejb jar.xml)移动到Tomcat7服务器时遇到了阻碍。我所做的是:在Eclipse中创建一个动态Web项目,包括代码,并使用声明创建EJBJAR。还使用servlet创建了web.xml文件。正确编译后,我将其导出到一个WAR文件中,并在Tomcat中部署该文件 这就是错误: org.apache.catalina.LifecycleException: Failed to start component [Stand
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/PortalSavia-Tomcat]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1256)
at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:714)
at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:219)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:212)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:611)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1852)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
Caused by: java.lang.NoClassDefFoundError: javax/ejb/EJBObject
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:792)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2895)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1173)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1681)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2521)
at java.lang.Class.getDeclaredMethods(Class.java:1845)
at org.apache.catalina.util.Introspection.getDeclaredMethods(Introspection.java:127)
at org.apache.catalina.startup.WebAnnotationSet.loadMethodsAnnotation(WebAnnotationSet.java:281)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:143)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:67)
at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:405)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:881)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:376)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5322)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
我已经检查了META-INF中的ejb-jar.xml。此外,web.xml似乎很好,并且具有servlet。知道在哪里查找错误吗?也许是libs?
非常感谢 Tomcat不是一个完整的应用服务器,它只是一个servlet容器。也就是说,Tomcat没有JavaEE容器
javax/ejb/EJBObject可以在javaeejar中找到。因此,用户要么使用JBoss这样的完整应用服务器,要么在Tomcat中包含必要的JAR。Tomcat不是一个完整的应用服务器,它只是一个servlet容器。也就是说,Tomcat没有JavaEE容器
javax/ejb/EJBObject可以在javaeejar中找到。因此,用户可以使用像JBoss这样的完整应用服务器,或者在Tomcat中包含必要的JAR。Tomcat不支持EJB。它只是一个servlet容器。您需要使用完整的JavaEE应用程序容器,如JBoss、Glassfish或WebSphere
我不建议尝试将EJB支持JAR添加到普通Tomcat安装中。它/它们不是设计用来这样使用的,您可能会遇到很多问题。Tomcat不支持EJB。它只是一个servlet容器。您需要使用完整的JavaEE应用程序容器,如JBoss、Glassfish或WebSphere
我不建议尝试将EJB支持JAR添加到普通Tomcat安装中。它/它们不是设计用来这样使用的,您可能会遇到很多问题。如果您坚持使用tomcat,您可以尝试将应用程序部署到 TomEE-基本上是一个有类固醇的tomcat。我确信你的应用程序不会开箱即用(通常应用程序与应用程序服务器的连接非常紧密,以至于不可能更改应用程序服务器)
我建议您看看一个成熟的J2EE应用程序服务器(JBoss、Glassfish等)。如果您坚持使用tomcat,您可以尝试将应用程序部署到 TomEE-基本上是一个有类固醇的tomcat。我确信你的应用程序不会开箱即用(通常应用程序与应用程序服务器的连接非常紧密,以至于不可能更改应用程序服务器)
我建议您看看一个成熟的J2EE应用服务器(JBoss、Glassfish等)。。。。先生,您是第一个建议使用WebSphere的人:)嘿。。。先生,您是第一个建议使用WebSphere的人:)