Ugl*_*ede 3 ubuntu grails tomcat
我正在尝试将Grails应用程序部署到在Ubuntu上运行的Tomcat容器.我试图做"一切正常",但仍然无法让它发挥作用.有任何想法吗?
我正在运行"Ubuntu Server 12.04.3 LTS".我安装了与Ubuntu(6.0.35)捆绑在一起的Tomcat.我知道Grails可以使用大量内存,因此我将分配给JVM的内存增加到512MB.Tomcat提供的示例应用程序运行良好.
在我的PC上(运行Windows 7),我安装了Grails(最新版本:2.3.7)和NetBeans(版本:7.4).
我创建了一个非常简单的"Hello world"Grails应用程序.我在我的电脑上运行它有些麻烦(我刚发布的另一个问题),但它编译得很好,我可以创建一个没有问题的战争文件.通过运行"grails战争".
我已经使用Tomcat"Web应用程序管理器"来上传War-file.它应该放在/ var/lib/tomcat6/webapps中,解压缩,一切看起来都很好.
但是当我尝试启动应用程序(在管理器中选择"开始")时,我收到"FAIL - 上下文路径中的应用程序/ MyTestApp无法启动"消息.我试图重启Tomcat,但遇到了同样的问题.
当我查看Tomcat日志(catalina.out)时,会记录下来:
2014-03-14 20:24:32,148 [http-8080-1] ERROR context.ContextLoader - Context
initialization failed
org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'grailsApplication' defined in ServletContext
resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed;
nested exception is java.lang.NoClassDefFoundError: javax/servlet/AsyncContext
at java.lang.Thread.run(Thread.java:701) Caused by:
java.lang.NoClassDefFoundError: javax/servlet/AsyncContext
at java.lang.Class.privateGetDeclaredMethods(Class.java:2534)
at java.lang.Class.getDeclaredMethods(Class.java:1855)
...
Caused by: java.lang.ClassNotFoundException: javax.servlet.AsyncContext
Run Code Online (Sandbox Code Playgroud)
似乎无法找到"javax.servlet.AsyncContext"类.Grails文档说在Tomcat上运行Grails是小菜一碟,没有什么应该出错......"javax.servlet.AsyncContext"类似乎与"Servlet 3.0"有关,但我不知道了解Java EE.我只是觉得最新版本的一切都可以开箱即用......
我需要在服务器上安装什么吗?有什么要添加到Tomcat的吗?或者我应该在应用程序中更改一些配置?
我会非常感谢任何帮助!:-)
/来自瑞典的安德斯
如果使用具有此版本Grails的适当版本的Tomcat,这是一块蛋糕.:)
最新版本的Grails默认使用Servlet 3.0和嵌入式Tomcat 7.0.52.1(在run-app期间使用),我怀疑它是否与Tomcat 6.0.35兼容.但您可以根据需要将servlet版本降级到2.5或2.4:
//BuildConfig.groovy (first line)
grails.servlet.version = "3.0" //2.4 or 2.5
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3208 次 |
最近记录: |