Tomcat6上的Grails2.3.5-兼容性问题?
我想知道是否有人有幸将Grails2.3.5部署到Tomcat6 在BuildConfig中,我有grails.servlet.version=“2.5” 插件块如下所示:Tomcat6上的Grails2.3.5-兼容性问题?,tomcat,grails,Tomcat,Grails,我想知道是否有人有幸将Grails2.3.5部署到Tomcat6 在BuildConfig中,我有grails.servlet.version=“2.5” 插件块如下所示: plugins { build ":release:3.0.1" build ":tomcat:7.0.50" compile ":scaffolding:2.0.1" compile ':cache:1.1.1' runtime ":hibernate:3.6.10.7"
plugins {
build ":release:3.0.1"
build ":tomcat:7.0.50"
compile ":scaffolding:2.0.1"
compile ':cache:1.1.1'
runtime ":hibernate:3.6.10.7"
runtime ":database-migration:1.3.8"
runtime ":jquery:1.10.2.2"
runtime ":resources:1.2.1"
}
启动时,我遇到以下异常:
错误context.ContextLoader-上下文初始化失败
org.springframework.beans.factory.BeanCreationException:错误
正在创建在ServletContext中定义的名为“grailsApplication”的bean
resource[/WEB-INF/applicationContext.xml]:初始化方法的调用
失败;嵌套异常为java.lang.NoClassDefFoundError:
javax/servlet/AsyncContext
它在Tomcat7上启动得非常好。我怀疑hibernate插件对Servlet 3的依赖性很强,但这只是目前的猜测。对于我来说,升级到最新的次要版本可以解决这个问题
- 确保升级到Grails2.3.x的最新版本(目前为2.3.11)。 这与更改application.properties中的值一样简单
- 在BuildConfig.groovy中,确保设置 grails.servlet.version=“2.5”
Eduardo生成的.war是否包含文件
WEB-INF/lib/grails-plugin-async-2.3.5.jar
?如果是这样,请尝试显式排除该插件。JIRA票证中的更多细节听起来很相似:还要检查application.properties
以获得正确的app.servlet.version
。我已经将servlet版本添加到application.properties中-结果相同。我已经删除了对grails pligin async的依赖,并且启动良好,但前提是我还删除了对org.grails.plugins:cache:1.1.1和org.grails.plugins:hibernate:3.6.10.7的依赖关系,因为hibernate依赖于异步,如果我排除它,则不会启动,而缓存依赖于hibernate。。。因此,我认为最新的grails+tomcat6+hibernate组合不能真正起作用,除非有人建议hibernate插件的版本没有这个问题。我对grails有点陌生。。。。您是如何删除grails异步插件的?我原以为这会奏效:grails.project.dependency.resolution={inherits(“global”){excludes([group:'org.grails',name:'grails-async'])}…
但是WEB-INF/lib/grails-plugin-async-2.3.7.jar
仍然存在于由grails-war
命令生成的war文件中。