【问题标题】:Exception class jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to class java.net.URLClassLoader异常类 jdk.internal.loader.ClassLoaders$AppClassLoader 无法转换为类 java.net.URLClassLoader
【发布时间】:2020-11-22 22:16:13
【问题描述】:

我不明白如何解决它,我第一次看到这样的错误。 我从 github https://github.com/nikishubin/Notebook 下载了这个,但它不起作用

OpenJDK 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.
    Exception in thread "main" java.lang.ClassCastException: class jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to class java.net.URLClassLoader (jdk.internal.loader.ClassLoaders$AppClassLoader and java.net.URLClassLoader are in module java.base of loader 'bootstrap')
        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:140)
        at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:546)
        at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:67)
        at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:45)
        at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
        at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
        at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
        at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:122)
        at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:69)
        at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:48)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:292)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107)
        at org.surplus.radolf.Notebook.NotebookApplication.main(NotebookApplication.java:10)
    
    Process finished with exit code 1

我的主要课程

package org.surplus.radolf.Notebook;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;


@SpringBootApplication
public class NotebookApplication  {
    public static void main(String[] args) {
        SpringApplication.run(NotebookApplication.class, args);
    }
}

【问题讨论】:

  • 系统/应用程序类加载器曾经是 Java 8 中 URLClassLoader 的实现。但是,在 Java 9 中,它变为私有(即内部)实现,不再是URLClassLoader。看起来您使用的 Spring Boot 版本与此更改不兼容(即它假定系统/应用程序类加载器是 URLClassLoader 的实例)。要么使用更新版本的 Spring Boot(如果存在),要么使用 Java 8 运行应用程序。

标签: java spring-boot maven


【解决方案1】:

从 pom 文件中指出,java 1.8 被引用,您能否请检查 java 1.8 是否在您的系统路径变量或更高版本中。如果以后请使用 1.8 并尝试运行程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-08
    • 1970-01-01
    • 1970-01-01
    • 2015-11-05
    相关资源
    最近更新 更多