Spring引导和错误“IllegalStateException:LifecycleProcessor未初始化 - 在通过上下文调用生命周期方法之前调用'刷新'”

时间:2016-11-25 22:34:57

标签: java eclipse spring spring-boot

我尝试编写一个简单的Spring Boot应用程序,用作RESTFul客户端。

主要部分如下所示:

@Autowired
RestService restService;

/**
 * Boiler plate
 * */
public static void main( String[] args )
{
    SpringApplication.run(MyApplication.class, args);
}

@Override
public void run(String... arg0) throws Exception {
    String url = "http://localhost:8080/XXXXXXXXXXXXXXXXXX";
    DataSet ds = restService.getForEntity(url, DataSetVersionJson.class, DataSet.class);
}

其中DataSet,DataSetVersionJson和RestService是我导入MyApplication项目的其他项目的类。

Eclipse中的编译很好,但运行时错误如:

java.lang.IllegalStateException: LifecycleProcessor not initialized - call 'refresh' before invoking lifecycle methods via the context: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@27ff5d15: startup date [Fri Nov 25 17:24:54 EST 2016]; root of context hierarchy

发生。我查了谷歌和SO,似乎它与Spring版本冲突有关。好吧,在我的MyApplication项目中,我使用了

<dependency>
    <!-- Import dependency management from Spring Boot -->
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-dependencies</artifactId>
    <version>1.4.1.RELEASE</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
我找到的

使用Spring核心版本4.2.x RELEASE。但是,其他导入的项目使用旧的Spring版本3.X.

这是错误的根本原因吗?什么可能是最好的解决方案?如果我还打算使用Spring启动,它的哪个版本支持Spring core 3.X?我找到了一个Spring引导版本的列表,但是它们有很多。

0 个答案:

没有答案