Spring Boot: restarter未初始化

6
当Spring Boot版本为1.5.3.RELEASE时,启动应用程序时出现以下错误: 堆栈跟踪:
java.lang.IllegalStateException: Restarter has not been initialized
    at org.springframework.util.Assert.state(Assert.java:392) ~[spring-core-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.boot.devtools.restart.Restarter.getInstance(Restarter.java:563) ~[spring-boot-devtools-1.5.3.RELEASE.jar:1.5.3.RELEASE]
    at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationPreparedEvent(RestartApplicationListener.java:75) ~[spring-boot-devtools-1.5.3.RELEASE.jar:1.5.3.RELEASE]
    at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:48) ~[spring-boot-devtools-1.5.3.RELEASE.jar:1.5.3.RELEASE]
    at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:166) ~[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:138) ~[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:121) ~[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE]
    at org.springframework.boot.context.event.EventPublishingRunListener.contextLoaded(EventPublishingRunListener.java:85) ~[spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE]
    at org.springframework.boot.SpringApplicationRunListeners.contextLoaded(SpringApplicationRunListeners.java:66) ~[spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE]
    at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:367) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:313) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1186) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1175) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE]
    at com.*.SpringBootWebApplication.main(SpringBootWebApplication.java:17) [classes/:na]

NB:当版本更改为1.4.2.RELEASE时,它能够正常工作,不会抛出上述异常。


首先,停止混合使用不同版本。当您使用1.5.3时,您的类路径上仍然有1.4.2的jar包。因此,您的依赖关系是错误的。 - M. Deinum
@M.Deinum 感谢您的评论。我已经从类路径中删除了1.4.2.RELEASE的JAR包,现在它可以正常工作了。 - RKA
2个回答

10

由于构件的版本问题导致问题存在。在pom.xml中删除org.springframework.boot spring-boot-devtools中的版本。

Maven

pom.xml内部

<dependencies>
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-devtools</artifactId>
      </dependency>
  <dependencies>

Gradle

在build.gradle文件中

dependencies {
    compile "org.springframework.boot:spring-boot-devtools" 
}

0

我注意到这个错误是由于Lombok引起的。可能是因为在不同的项目中使用了多个版本的Lombok。从.m2文件夹中删除Lombok文件夹解决了这个问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接