在ubuntu上部署grails war文件的问题

在ubuntu上部署grails war文件的问题,ubuntu,tomcat,grails,Ubuntu,Tomcat,Grails,我有一个空的Grails4.0.2项目->GrailsCreateAppTestBot 这在->grails run app中运行良好 如果我使用tomcat 9.0.33将其部署到windows服务器上的tomcat上,它也可以正常运行 然而,当我在ubuntu上将它部署到Tomcat9.0.16或9.0.24时,它不会启动。catalina.log显示了以下内容,我尝试过取消编译“org.springframework.boot:spring boot starter tomcat”的注释,

我有一个空的Grails4.0.2项目->GrailsCreateAppTestBot

这在->grails run app中运行良好

如果我使用tomcat 9.0.33将其部署到windows服务器上的tomcat上,它也可以正常运行

然而,当我在ubuntu上将它部署到Tomcat9.0.16或9.0.24时,它不会启动。catalina.log显示了以下内容,我尝试过取消编译“org.springframework.boot:spring boot starter tomcat”的注释,并将其更改为提供的“org.springframework.boot:spring boot starter tomcat”,但同样的问题,有什么想法吗

2020年3月29日21:57:39.308严重[Catalina-utility-2]org.apache.Catalina.startup.HostConfig.deployWAR部署web应用程序存档时出错[/var/lib/tomcat9/webapps/testbot-0.1.war] java.lang.IllegalStateException:启动子级时出错 位于org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:720) 位于org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690) 位于org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705) 位于org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:978) 位于org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1849) 位于java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) 位于java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) 位于org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) 位于java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118) 位于org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:773) 位于org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:427) 位于org.apache.catalina.startup.HostConfig.check(HostConfig.java:1620) 位于org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:305) 位于org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) 位于org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1151) 位于org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1353) 位于org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1357) 位于org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1335) 位于java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) 位于java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) 位于java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) 位于java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 位于java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 位于org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 位于java.base/java.lang.Thread.run(Thread.java:834) 原因:org.apache.catalina.lifegeexception:无法启动组件[StandardEngine[catalina]。StandardHost[localhost]。StandardContext[/testbot-0.1]] 位于org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440) 位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198) 位于org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717) ... 还有24个 原因:java.lang.NoSuchMethodError:'java.lang.String org.codehaus.groovy.runtime.DefaultGroovyMethods.join(java.lang.Iterable,java.lang.String)' 位于org.grails.config.NavigableMap(NavigableMap.groovy:38) 位于org.grails.config.NavigableMap.mergeMapEntry(NavigableMap.groovy:238) 位于org.grails.config.NavigableMap.mergeMapEntry(NavigableMap.groovy) 位于org.grails.config.NavigableMap.mergeMaps(NavigableMap.groovy:149) 位于org.grails.config.NavigableMap.merge(NavigableMap.groovy:125) 位于org.grails.config.NavigableMap.merge(NavigableMap.groovy) 位于grails.util.Metadata.loadYml(Metadata.groovy:177) 位于grails.util.Metadata.access$0(Metadata.groovy) 在grails.util.Metadata$\u loadFromDefault\u closure2.doCall(Metadata.groovy:129) 在grails.util.Metadata$\u loadFromDefault\u closure2.call(Metadata.groovy)中 位于org.codehaus.groovy.runtime.IOGroovyMethods.withStream(IOGroovyMethods.java:1160) 位于org.codehaus.groovy.runtime.ResourceGroovyMethods.withInputStream(ResourceGroovyMethods.java:1570) 位于grails.util.Metadata.loadFromDefault(Metadata.groovy:128) 元数据(Metadata.groovy:58) 位于grails.util.Metadata.getCurrent(Metadata.groovy:114) 位于grails.util.Environment.resolveCurrentEnvironment(Environment.java:295) 位于grails.util.Environment.cacheCurrentEnvironment(Environment.java:321) 位于grails.util.Environment.getCurrent(Environment.java:288) 位于grails.util.Environment(Environment.java:132) 位于java.base/java.lang.Class.forName0(本机方法) 位于java.base/java.lang.Class.forName(Class.java:398) 位于org.codehaus.groovy.runtime.callsite.CallSiteArray$1.run(CallSiteArray.java:65) 位于org.codehaus.groovy.runtime.callsite.CallSiteArray$1.run(CallSiteArray.java:62) 位于java.base/java.security.AccessController.doPrivileged(本机方法) 位于org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallStaticSite(CallSiteArray.java:62) 位于org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallSite(CallSiteArray.java:159) 位于org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) 位于org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) 在org.codehaus.groovy.runtime.callsite.Abstra
compile "org.grails.plugins:cache", {
    exclude group: "org.codehaus.groovy", module: "groovy-all"
}