Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Tomcat无法部署旧的webapp_Java_Eclipse_Tomcat_Servlets_Resin - Fatal编程技术网

Java Tomcat无法部署旧的webapp

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

我在尝试将为Resin服务器开发的旧webapp(不创建war容器或ejb jar.xml)移动到Tomcat7服务器时遇到了阻碍。我所做的是:在Eclipse中创建一个动态Web项目,包括代码,并使用声明创建EJBJAR。还使用servlet创建了web.xml文件。正确编译后,我将其导出到一个WAR文件中,并在Tomcat中部署该文件

这就是错误:

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的人:)