2017-09-05 31 views
0

我很沮丧......什么是ApplicationEventMulticaster,我该如何初始化或刷新它?为什么需要它?Grails-App无法启动 - ApplicationEventMulticaster未初始化

# java -Dgrails.env=production -jar /root/myapp-0.4.war 

Configuring Spring Security Core ... 
... finished configuring Spring Security Core 

2017-09-05 22:46:07.948 ERROR --- [   main] o.s.b.f.s.DefaultListableBeanFactory  : Destroy method on bean with name 'org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor' threw an exception 

java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: org.springframework.boot[email protected]46dffdc3: startup date [Tue Sep 05 22:45:58 CEST 2017]; root of context hierarchy 
    at org.springframework.context.support.AbstractApplicationContext.getApplicationEventMulticaster(AbstractApplicationContext.java:414) 
    at org.springframework.context.support.ApplicationListenerDetector.postProcessBeforeDestruction(ApplicationListenerDetector.java:97) 
    at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:253) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:578) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:554) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:961) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:523) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:968) 
    at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1030) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:556) 
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) 
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) 
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360) 
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) 
    at grails.boot.GrailsApp.run(GrailsApp.groovy:83) 
    at grails.boot.GrailsApp.run(GrailsApp.groovy:388) 
    at grails.boot.GrailsApp.run(GrailsApp.groovy:375) 
    at grails.boot.GrailsApp$run.call(Unknown Source) 
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133) 
    at haselnuss3.Application.main(Application.groovy:8) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0([email protected]/Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke([email protected]/NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke([email protected]/DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke([email protected]/Method.java:531) 
    at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) 
    at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) 
    at org.springframework.boot.loader.Launcher.launch(Launcher.java:50) 
    at org.springframework.boot.loader.WarLauncher.main(WarLauncher.java:59) 

如何或在哪里我必须调用此刷新操作?!我没有胶水。这是我尝试在服务器上运行的第一个Grails应用程序。在Localhost中,一切运行良好。

系统(开发,工程):

  • 的Mac
  • 的Grails 3.3。
  • MySQL的
  • Java版本 “1.8.0_112”

系统(!生产,工作不)

  • Ubuntu服务器14.04 LTS
  • Grails的版本:3.3.0
  • Groovy版本:2.4.11
  • JVM版本:9内部
  • MySQL的
+0

请详细信息添加到您的问题!?您正在使用什么版本的Grails的你是什么设置你使用外部的lib? – lifeisfoo

+0

'Grails的-version | Grails的版本:3.3.0 | Groovy的版本:2.4.11 | JVM版本:9的内部 ' –

+0

的[ApplicationEventMulticaster可能的复制未初始化 - 通过多播事件之前所说的 '刷新'上下文](https://stackoverflow.com/questions/45318618/applicationeventmulticaster-not-initialized-call-refresh-before-multicasting) – lifeisfoo

回答

0

我固定它是这样的:

  • Plesk中卸载的Tomcat/Java的支持
  • apt-get的删除Java
  • apt-get的删除的OpenJDK *
  • apt-get的安装openjdk-8-jdk
  • cd [app-path]
  • grails run-app

它工作! 所以java“9-internal”环境不适用于grails-apps(3.3.0)。 :(

java -Dgrails.env=production -jar /root/my-app.war 

后,也完全运行

相关问题