java.lang.IllegalState Exception LifecylceProcessor et ApplicationEventMulticaster pas initialisé lors de l'utilisation de Spring Boot
J'ai créé un ressort de démarrage classe wrapper comme suit:
package package.for;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
@ComponentScan
@EnableAutoConfiguration
public class AppBooter {
public static void main(String args[]){
SpringApplication.run("path/to/context.xml", args);
System.out.println("============ done");
do{
}while(true);
}
}
context.xml contient la fève de pointage de la classe principale comme suit:
<bean id="starter" class="package.for.AppBooter" />
ainsi que plusieurs autres haricots j'ai besoin.
Comme pour les dépendances j'ai le texte suivant:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot</artifactId>
<version>1.1.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>1.1.7.RELEASE</version>
</dependency>
<dependency>
<groupId>axis</groupId>
<artifactId>axis</artifactId>
<version>1.4</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
<exclusion>
<groupId>axis</groupId>
<artifactId>axis-wsdl4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId> wsdl4j</groupId>
<artifactId>wsdl4j</artifactId>
<version>1.6.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.7</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>opensymphony</groupId>
<artifactId>sitemesh</artifactId>
<version>2.5</version>
</dependency>
Cependant quand je le lance j'obtiens les exceptions suivantes:
Exception in thread "main" 2014-10-07 16:12:54.267 INFO 4616 --- [ Thread-1] ationConfigEmbeddedWebApplicationContext : Closing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@6c4cbf96: startup date [Tue Oct 07 16:12:50 CEST 2014]; root of context hierarchy
java.lang.NoSuchMethodError: org.springframework.data.repository.config.RepositoryConfigurationDelegate.<init>(Lorg/springframework/data/repository/config/RepositoryConfigurationSource;Lorg/springframework/core/io/ResourceLoader;Lorg/springframework/core/env/Environment;)V
at org.springframework.boot.autoconfigure.data.AbstractRepositoryConfigurationSourceSupport.registerBeanDefinitions(AbstractRepositoryConfigurationSourceSupport.java:58)
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromRegistrars(ConfigurationClassBeanDefinitionReader.java:319)
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:139)
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:116)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:324)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:243)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:254)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:94)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:608)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:463)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:109)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:691)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:320)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:952)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:941)
at package.for.AppBooter.main(AppBooter.java:12)
2014-10-07 16:12:54.303 WARN 4616 --- [ Thread-1] ationConfigEmbeddedWebApplicationContext : Exception thrown from ApplicationListener handling ContextClosedEvent
java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@6c4cbf96: startup date [Tue Oct 07 16:12:50 CEST 2014]; root of context hierarchy
at org.springframework.context.support.AbstractApplicationContext.getApplicationEventMulticaster(AbstractApplicationContext.java:345)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:332)
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:879)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.doClose(EmbeddedWebApplicationContext.java:141)
at org.springframework.context.support.AbstractApplicationContext$1.run(AbstractApplicationContext.java:808)
2014-10-07 16:12:54.304 WARN 4616 --- [ Thread-1] ationConfigEmbeddedWebApplicationContext : Exception thrown from LifecycleProcessor on context close
java.lang.IllegalStateException: LifecycleProcessor not initialized - call 'refresh' before invoking lifecycle methods via the context: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@6c4cbf96: startup date [Tue Oct 07 16:12:50 CEST 2014]; root of context hierarchy
at org.springframework.context.support.AbstractApplicationContext.getLifecycleProcessor(AbstractApplicationContext.java:358)
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:887)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.doClose(EmbeddedWebApplicationContext.java:141)
at org.springframework.context.support.AbstractApplicationContext$1.run(AbstractApplicationContext.java:808)
Que pour la façon dont je suis l'emballage le pot voici le plugin extrait de:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>package.for.AppBooter</mainClass>
</configuration>
<version>1.1.5.RELEASE</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions
</plugin>
Veuillez ajouter tous vos dépendances à la poste.
ajouté à l'original post
ajouté à l'original post
OriginalL'auteur mangusbrother | 2014-10-07
Vous devez vous connecter pour publier un commentaire.
Cela a été résolu par la mise à niveau du printemps-web et printemps-webmvc dépendances à 4.0.7.COMMUNIQUÉ de
OriginalL'auteur mangusbrother
J'ai été confronté à cette erreur et je l'avais déjà 4.3.2.LIBÉRATION pour le printemps-web et printemps-web mvc.
Il est résolu, cela était dû à la définition de printemps-données-releasetrain. Retrait qui a résolu le problème.
OriginalL'auteur Mehdi Raza
Je pense que la cause racine du problème est un
NoSuchMethodError
:Vous n'avez pas posté tout les détails de votre Printemps dépendances de Données, mais il semble que vous essayez d'utiliser une version de l'un des Printemps les projets de Données qui n'est pas compatible avec la version de Printemps de Démarrage que vous utilisez. Printemps de Démarrage fournit de gestion de la dépendance pour l'ensemble de Printemps de la publication des Données de train, donc votre meilleure option est probablement seulement de supprimer les de version à partir du Printemps dépendances de Données dans votre pom et laissez Printemps de Démarrage de la gestion de la dépendance de prendre le contrôle de la version.
ajout de toutes les dépendances
OriginalL'auteur Andy Wilkinson
Eu le même problème et n'a pas de dépendances liées.
J'ai eu le code suivant:
De le changer à la suite de le faire fonctionner:
Je ne suis pas sûr de savoir pourquoi cela a été l'origine d'un problème. Peut-être que vous ne pouvez pas utiliser le constructeur de l'injection lorsque vous souhaitez utiliser à l'intérieur de haricots. Espérons que quelqu'un pourra répondre dans les commentaires
OriginalL'auteur Doug