只是想让你知道,我根本不是程序员,所以我有点迷失在我的问题中。我正在尝试从 Apache Tomcat 4.1 和 Java 1.4.2 上的 Windows Server 2003 服务器迁移应用程序(应用程序在该服务器上运行良好)。我尝试在 Windows Server 2008 R2 上使用任何版本的 Apache Tomcat 和与 W2KR2 兼容的 Java 迁移它,但是当我尝试从 Web 界面启动应用程序时,我总是遇到同样的错误:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/GestClientsAS2]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3780)
at org.apache.catalina.startup.HostConfig.reload(HostConfig.java:1307)
at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1290)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1474)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:280)
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.ContainerBase.backgroundProcess(ContainerBase.java:1141)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1365)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1369)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1345)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: javax/mail/internet/MimeBodyPart
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getDeclaredMethods(Unknown Source)
at org.apache.catalina.util.Introspection.getDeclaredMethods(Introspection.java:127)
at org.apache.catalina.startup.WebAnnotationSet.loadMethodsAnnotation(WebAnnotationSet.java:275)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:138)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:65)
at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:331)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:770)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:302)
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:5083)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
我相信缺少一个类?我该如何解决这个问题?
谢谢。
最佳答案
既然你告诉我你的应用程序在 java 1.4 版本中运行,并且这个类在 Java 5+ 版本中是默认的(参见文档:http://docs.oracle.com/javaee/5/api/javax/mail/internet/MimeBodyPart.html),你必须将它导入到你的项目中。
下载:http://www.java2s.com/Code/Jar/j/Downloadjavamailmailapi14jar.htm 因为是web应用,把这个jar文件放在WEB-INF/libs里面,所以,类加载器会加载它,重启服务器。
如果它不是 Web 项目,您可以右键单击库并转到“构建路径”->“添加到构建路径”。
关于java - 无法在 Apache Tomcat 中启动应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25427913/