热部署启动出错

 

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

2.解决

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

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

 

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

  1. 首先出现的问题很可能是JDK版本问题,我看了我的JDK版本,发现我的JDK是11版本,我把它调成1.8版本来启动就成功了。(我是因为系统还原了,idae的jdk没配我自己的,就默认使用了idea带的JDK11版本)。并且从异常可以大约猜猜跟JDK问题有关

2.网上也有人说,是SpringBoot版本问题,我目前使用的是1.5.x版本,完全支持。SpringBoot2.x我没测试,可以自己测试


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

posted @ 2020-01-12 20:43  flunggg  阅读(735)  评论(0编辑  收藏  举报