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)
4条答案
按热度按时间polhcujo1#
根据堆栈跟踪中是否存在
java.base/jdk.internal.loader.ClassLoaders
来判断,您使用的是Java 9或更高版本。Sping Boot 的DefaultRestartInitializer
正在尝试将应用程序类加载器转换为URLClassLoader
。这适用于Java 8及更早版本,但不适用于Java 9或更高版本。Sping Boot 在2中是updated。0来科普Java 9中的这一变化。如果你想在Java 9或更高版本中使用Sping Boot ,你应该升级到Spring Boot 2。在撰写本文时,最新的版本是2。0.5,支持Java 8、9和10。Sping Boot 2.1将于今年晚些时候发布,将增加对Java 11的支持。
aiazj4mn2#
我在eclipse上遇到了这个问题,并通过以下步骤解决了这个问题:
就这样!希望对你有用。
dxxyhpgq3#
解决方案:在IDE中更改JDK版本8
我在IntelliJ idea和sts中的spring Boot 应用程序中遇到了同样的问题,但我在这个问题中找到了一个解决方案:
如果你在你的项目中使用AD集成,它属于微软,那么你需要使用java 8版本的JDK,因为目前微软AD插件不支持java 9或更高版本,它只支持java 8或更低版本。
lqfhib0f4#
在www. example中检查您的JAVA_HOME www.example.com .将$HADOOP_HOME/etc/hadoop中的JAVA_HOME值更改为hadoop-env中的java 8(
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
)值。她为我解决了这个问题。我在我的hadoop-env.sh
值中定义了一个更高的java版本,而我在我的hadoop-env.sh
值中定义了java 8。bashrc文件。所以保持相同的Java 8版本为我解决了这个问题。