Exception in thread "main" java.lang.ClassCastException: java.base/jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to java.base/java.net.URLClassLoader
at org.springframework.boot.devtools.restart.DefaultRestartInitializer.getUrls(DefaultRestartInitializer.java:93)
at org.springframework.boot.devtools.restart.DefaultRestartInitializer.getInitialUrls(DefaultRestartInitializer.java:56)
at org.springframework.boot.devtools.restart.Restarter.<init(Restarter.java:138)
at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:537)
at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartedEvent(RestartApplicationListener.java:68)
at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:45)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:166)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:138)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:121)
at org.springframework.boot.context.event.EventPublishingRunListener.started(EventPublishingRunListener.java:63)
at org.springframework.boot.SpringApplicationRunListeners.started(SpringApplicationRunListeners.java:48)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:304)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1186)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1175)
at com.rme.hub.RmeApplication.main(RmeApplication.java:24)
原文由 shaan bhattacharya 发布,翻译遵循 CC BY-SA 4.0 许可协议
从堆栈跟踪中是否存在
java.base/jdk.internal.loader.ClassLoaders
判断,您使用的是 Java 9 或更高版本。 Spring Boot 的DefaultRestartInitializer
试图将应用程序类加载器转换为URLClassLoader
。这适用于 Java 8 及更早版本,但不适用于 Java 9 或更高版本。 Spring Boot 已在 2.0 中 更新 以应对 Java 9 中的这一变化。如果你想在 Java 9 或更高版本中使用 Spring Boot,你应该升级到 Spring Boot 2。在撰写本文时,最新版本是 2.0.5,它支持 Java 8、9 和 10。Spring Boot 2.1,它将今年晚些时候发布,将增加对 Java 11 的支持。