热部署启动出错

 

1.出现异常

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’)java

2.解决

我是在How2j作Springboot实战项目时,启动SpringBoot项目时报出这个异常。网上找了找资料,问题出如今pom.xml中使用了热部署spring

        <!-- 热部署 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>

 

第一次使用热部署,了解了下概念:在开发中反复修改类、页面等资源,每次修改后都是须要从新启动才生效,这样每次启动都很麻烦,
浪费了大量的时间,咱们能够在修改代码后不重启就能生效,在 pom.xml 中添加以下配置就能够实现这样的功能,咱们称之为热部署1bootstrap

  1. 首先出现的问题极可能是JDK版本问题,我看了个人JDK版本,发现个人JDK是11版本,我把它调成1.8版原本启动就成功了。(我是由于系统还原了,idae的jdk没配我本身的,就默认使用了idea带的JDK11版本)。而且从异常能够大约猜猜跟JDK问题有关

2.网上也有人说,是SpringBoot版本问题,我目前使用的是1.5.x版本,彻底支持。SpringBoot2.x我没测试,能够本身测试ide


  1. 参考博客:https://blog.csdn.net/mingxu_W/article/details/93198971 ↩︎spring-boot