SpringBoot入门笔记热加载

Posted ZGJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot入门笔记热加载相关的知识,希望对你有一定的参考价值。

1、配置热加载环境,在pom.xml添加如下代码

<build>
    <!--springloader plugin  -->
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <dependencies>
                <dependency>
                    <groupId>org.springframework</groupId>
                    <artifactId>springloaded</artifactId>
                    <version>1.2.7.RELEASE</version>
                </dependency>
            </dependencies>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                    <configuration>
                        <classifier>exec</classifier>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
  </build>

2、Run as ->Maven Build

3、运行,报错

java.lang.UnsupportedClassVersionError: com/learn/spring_boot_hello/App : Unsupported major.minor version 52.0
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
	at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
Exception in thread "main" [INFO] ------------------------------------------------------------------------

4、打开Run Configuration

修改为JRE1.8
5、修改代码

6、刷新页面

7、这时候重新运行程序提示端口被占用,需要使用另外一种方法

在App内添加(需要实现创建lib目录,并把jar包拷贝进去,因为Maven jar包物理路径不在项目中)
-javaagent:.\\lib\\springloaded-1.2.7.RELEASE.jar -noverify

8、运行成功

总结:其实这种方法不是最简单的,使用JRebel要比这个好用,而且比较通用。

以上是关于SpringBoot入门笔记热加载的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot学习笔记-配置devtools实现热部署

springboot 热加载的问题 idea下的springboot热加载的

springboot热部署

SpringBoot入门-开发环境热部署

SpringBoot在IntelliJ IDEA下for MAC 热加载

零基础快速入门SpringBoot2.0 教程