将Play Framework应用程序部署到tomcat 6时失败

时间:2012-03-02 22:02:41

标签: java playframework tomcat6

我试图在TOMCAT 6中将播放应用程序部署为战争,我收到以下错误:

org.apache.catalina.startup.HostConfig deployWAR
Deploying web application archive test1.war
org.apache.catalina.loader.WebappClassLoader validateJarFile
validateJarFile(/Users/olivier/Apps/tools/tomcat/apache-tomcat-6.0.35/webapps/test1/WEB-INF/lib/geronimo-servlet_2.5_spec-1.2.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
Starting /Users/olivier/Apps/tools/tomcat/apache-tomcat-6.0.35/webapps/test1/WEB-INF/application
org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
org.apache.catalina.core.StandardContext start
SEVERE: Context [/test1] startup failed due to previous errors

有2个错误:

1)servlet规范不同的版本

2)ContextListener中的错误

我不确定错误2)是否是错误1)。

为了确保它不是我的应用程序或我的tomcat,我使用了新的tomcat(6.0.35),除了播放应用程序之外别无他法,并创建了一个新的空白播放应用程序:

$ play new test1

然后我创造了战争 $ play war -o /xxx/apache-tomcat-6.0.35/webapps/test1 --zip

但我得到了同样的错误。

我使用java 1.6在MacOsX上运行并播放1.2.4

java version "1.6.0_29"
Java(TM) SE Runtime Environment (build 1.6.0_29-b11-402-11D50b)
Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02-402, mixed mode)

我做错了什么,我错过了什么吗?

编辑:我试图在jetty 7.6.2中部署完全相同的战争并且它运行得很好。

谢谢,

奥利弗

2 个答案:

答案 0 :(得分:0)

您永远不应该将servlet.jar文件添加到您的webapp / WEB-INF / lib文件夹中!此文件已由您的Web容器提供。

答案 1 :(得分:0)

尝试从war文件的application / lib中删除geronimo-servlet_2.5_spec-1.2.jar。