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 时出错