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

问题描述 投票:0回答:1

我有一个空的grails 4.0.2项目-> grails create-app testbot

这可以正常运行-> grails run-app

如果我使用tomcat 9.0.33将它部署到Windows服务器上的tomcat,这也可以很好地运行。

但是,当我在ubuntu上将其部署到tomcat 9.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时出错。战争] 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.LifecycleException:无法启动组件[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 $ _loadFromDefault_closure2.doCall(Metadata.groovy:129) 在grails.util.Metadata $ _loadFromDefault_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) 在grails.util.Metadata(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.AbstractCallSite.call(AbstractCallSite.java:112) 在Script1.run(Script1.groovy:26) 在Script1 $ run.call中(未知来源) 在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.AbstractCallSite.call(AbstractCallSite.java:112) 位于ch.qos.logback.classic.gaffer.GafferConfigurator.run(GafferConfigurator.groovy:77) 在ch.qos.logback.classic.gaffer.GafferConfigurator $ run.callCurrent(未知源) 在org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:49) 在org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133) 在org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141) 位于ch.qos.logback.classic.gaffer.GafferConfigurator.run(GafferConfigurator.groovy:44) 在ch.qos.logback.classic.gaffer.GafferUtil.runGafferConfiguratorOn(GafferUtil.java:43) 在ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:67) 在ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:150) 在org.slf4j.impl.StaticLoggerBinder.init(StaticLoggerBinder.java:84) 在org.slf4j.impl.StaticLoggerBinder。(StaticLoggerBinder.java:55) 在org.slf4j.LoggerFactory.bind(LoggerFactory.java:150) 在org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:124) 在org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:417) 在ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory.addStatus(StatusViaSLF4JLoggerFactory.java:32) 在ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory.addInfo(StatusViaSLF4JLoggerFactory.java:20) 在ch.qos.logback.classic.servlet.LogbackServletContainerInitializer.onStartup(LogbackServletContainerInitializer.java:32) 在org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5135) 在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ...另外25个2020年3月29日21:57:39.309 INFO [Catalina-utility-2]

ubuntu tomcat grails
1个回答
0
投票

默认情况下安装的Grails Cache插件与Grails 4.0.2和更高版本中使用的新Groovy版本不兼容。

要么删除依赖关系,要么排除所有常规的依赖关系。

compile "org.grails.plugins:cache", {
    exclude group: "org.codehaus.groovy", module: "groovy-all"
}

注意:如果您仅排除依赖项,我不知道缓存插件的功能如何。

© www.soinside.com 2019 - 2024. All rights reserved.