【发布时间】:2015-12-25 05:21:22
【问题描述】:
我在 Amazon EC2 上安装了 bitnami tomcat。我有 2 个 .war 文件,old.war 和 new.war 一个,它们是从同一个 Web 应用程序生成的,但第二个文件应该更正常,或者更准确地说,更准确。第二个是我自己生成的(jar -cvf my_new.war *),我有它的来源,而第一个是别人的。
我把它们放在/opt/bitnami/apache-tomcat/webapps。第一个运行良好,至少在某种意义上说,webapp 可以通过http://ec2-xx-xx-xx-xx.us-west-1.compute.amazonaws.com/old/ 从互联网访问,不像新的总是在http://ec2-xx-xx-xx-xx.us-west-1.compute.amazonaws.com/new/ 返回:
回顾一下:在 EC2,我以完全相同的方式部署它们。也许我没有正确生成new.war?
可能是什么原因? 附:
其中一个日志是这样说的
Sep 28, 2015 4:41:19 AM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextDestroyed()
Sep 28, 2015 4:41:19 AM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextDestroyed()
Sep 28, 2015 4:41:45 AM org.apache.catalina.core.ApplicationContext log
INFO: Marking servlet myAppServet as unavailable
Sep 28, 2015 4:41:45 AM org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet [myAppServet] in web application [/my_app] threw load() exception
java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1858)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1709)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:506)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:488)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:115)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1148)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1087)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5253)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5543)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1095)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1930)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Sep 28, 2015 4:41:46 AM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
Sep 28, 2015 4:41:46 AM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
Sep 28, 2015 4:41:46 AM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@528a709d')
我已在此日志中将原始名称更改为 my_app。
为什么找不到?究竟是什么没找到?
【问题讨论】:
-
日志是怎么说的?
-
@Kishore,哪一个?有几个。
-
我认为
catalina.out文件位于 $TOMCAT_HOME/logs/ 下。更多信息在这里 - wiki.apache.org/tomcat/FAQ/Logging -
从登录看起来应用程序无法获得所需的 Spring Jars。 stackoverflow.com/questions/11227395/… 可能会有所帮助。
标签: java maven tomcat amazon-web-services amazon-ec2