Tomcat6上的Grails2.3.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"

我想知道是否有人有幸将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"
    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”
在这些更改之后,GrailsUp可以部署到Tomcat6.0.x容器中

希望能有帮助
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文件中。