Grails 应用程序无法在 tomcat 上加载

Posted

技术标签:

【中文标题】Grails 应用程序无法在 tomcat 上加载【英文标题】:Grails app fails to load on tomcat 【发布时间】:2013-06-07 11:41:00 【问题描述】:

我有一些使用 groovy dsl 和“plugin-config”定义的 spring bean。类路径上也有带有常规 spring xml 上下文的库。

所以我把resources.groovy:

beans = 
    importBeans("classpath*:applicationContext.xml")

当我使用“grails run-app”命令运行应用程序时,它可以工作。但是当我将战争部署到 Tomcat 7 时,它会失败(指向https://github.com/daniel-lima/grails-plugin-config-plugin/blob/master/src/java/org/grails/plugin/config/AbstractConfigHelper.java - 第 340 行):

org.springframework.beans.factory.access.BootstrapException: Error executing bootstraps; nested exception is java.lang.IllegalArgumentException: [Assertion failed] 
- this expression must be true
    at org.codehaus.groovy.grails.web.context.GrailsContextLoader.initWebApplicationContext(GrailsContextLoader.java:118)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4887)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5381)
    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:633)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:977)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1654)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:679)
Caused by: java.lang.IllegalArgumentException: [Assertion failed] - this expression must be true

有人吗?

【问题讨论】:

不是issue related in the Github project吗? 嗯,这取决于。 grails中的配置可能有问题 【参考方案1】:

在 0.1.5 版本的 plugin-config grails 插件中有一个错误。在 0.1.8 版本中已经修复。

我们使用 Quartz2 插件,它为我们的应用强制执行 0.1.5 版本。

所以我从 quartz2 中排除了 plugin-config 并添加了最新版本。

【讨论】:

以上是关于Grails 应用程序无法在 tomcat 上加载的主要内容,如果未能解决你的问题,请参考以下文章

Grails 4:邮件插件在 Elastic Beanstalk 上运行时无法读取“密码”属性

Grails项目BuildConfig.groovy Tomcat插件版本?

在现有站点上使用 Tomcat 部署 Grails 应用程序

如何在 Tomcat 7 上部署 Grails 3 应用程序?

在 tomcat 上部署 grails 应用程序时创建名为“transactionManagerPostProcessor”的 bean 时出错

如何在一个 Tomcat + Apache 上部署多个 Grails 应用程序?