java.lang.IllegalState异常LifeCycleCProcessor和ApplicationEventMulticaster在使用Spring引导时未初始化
我创建了一个spring引导包装器类,如下所示:java.lang.IllegalState异常LifeCycleCProcessor和ApplicationEventMulticaster在使用Spring引导时未初始化,java,spring,maven,spring-boot,illegalstateexception,Java,Spring,Maven,Spring Boot,Illegalstateexception,我创建了一个spring引导包装器类,如下所示: package package.for; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.context.annotation.ComponentScan; @ComponentScan @Ena
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);
}
}
<bean id="starter" class="package.for.AppBooter" />
xml包含指向主类的bean,如下所示:
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);
}
}
<bean id="starter" class="package.for.AppBooter" />
以及我需要的其他几种咖啡豆
关于依赖关系,我有以下几点:
<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>
org.springframework.boot
弹簧靴
1.1.7.发布
org.springframework.boot
SpringBootStarterWeb
1.1.7.发布
轴
轴
1.4
假如
公用记录
公用记录
轴
axis-wsdl4j
wsdl4j
wsdl4j
1.6.2
假如
org.slf4j
jcl-over-slf4j
1.7.7
假如
javax.servlet
javax.servlet-api
3.1.0我认为问题的根本原因是NoSuchMethodError
:
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)
java.lang.NoSuchMethodError:org.springframework.data.repository.config.RepositoryConfigurationDelegate(Lorg/springframework/data/repository/config/RepositoryConfigurationSource;Lorg/springframework/core/io/ResourceLoader;Lorg/springframework/core/env/Environment;)V
位于org.springframework.boot.autoconfigure.data.AbstractRepositoryConfigurationSourceSupport.registerBeanDefinitions(AbstractRepositoryConfigurationSourceSupport.java:58)
您尚未发布Spring数据依赖项的任何详细信息,但看起来您正在尝试使用一个与您正在使用的Spring Boot版本不兼容的Spring数据项目的版本。Spring Boot为整个Spring数据发布系列提供依赖项管理,因此您最好的选择可能是从pom中的任何Spring数据依赖项中删除该版本,并让Spring Boot的依赖项管理控制该版本。将Spring web和Spring webmvc依赖项升级为4.0.7.RELEASE我遇到了这个错误,我已经为SpringWeb和SpringWebMVC发布了4.3.2.RELEASE
解决了这个问题,这是因为定义了spring数据释放序列。删除它解决了问题。也有相同的问题,并且与依赖项无关
我有以下代码:
@Configuration
public class ConfigurationClass {
private final MyProperties MY_PROPERTIES;
ConfigurationClass(MyProperties myProperties) {
this.MY_PROPERTIES = myProperties
}
@Bean
@LoadBalanced
public RestTemplate testRestTemplate(RestTemplateBuilder builder) {
return builder.setConnectTimeout(MY_PROPERTIES.getTimeout()).build();
}
}
将其更改为以下选项可使其正常工作:
@Configuration
public class ConfigurationClass {
@Bean
@LoadBalanced
public RestTemplate testRestTemplate(RestTemplateBuilder builder,
MyProperties myProperties) {
return builder.setConnectTimeout(myProperties.getTimeout()).build();
}
}
但我不确定这为什么会引起问题。当您想在bean中使用构造函数注入时,可能无法使用它。希望有人能在评论中回答请将您的所有依赖项添加到帖子中。添加到原始的postadded all dependencies