ManagerFactory的load方法中,应该使用的是myClassLoader的findClass方法。 而不是loadClass方法, 因为loadClass方法由于双亲委派模式,会将className交给myClassLoader的父ClassLoader进行加载。 而其父ClassLoader对加载的Class做了缓存,如果发现该类已经加载过, 就不会再加载第二次。
2018-04-09
ManagerFactory类里 load 方法
loadClass=myClaasLoader.findClass(className);
loadClass 改成 findClass
loadClass=myClaasLoader.findClass(className);
loadClass 改成 findClass
2018-04-03
程序正常 启动,但修改内容 没有热加载的 可以来看一下!! ManagerFactory类里 getManager 方法
//File loadFile=new File(CLASS_PATH+className.replace("\\.", "/")+".class");
File loadFile=new File(CLASS_PATH+className.replace(".", "/")+".class");
把 \\ 去掉,就OK了
//File loadFile=new File(CLASS_PATH+className.replace("\\.", "/")+".class");
File loadFile=new File(CLASS_PATH+className.replace(".", "/")+".class");
把 \\ 去掉,就OK了
2018-04-03
添加下面这个。在你运行后修改代码了按Ctrl+F5.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
2018-03-27
自定义classloader有点含金量,其他的全是扯皮,网上到处有,并且这个课程相当于只讲了如果在开发环境上的热部署,并没有讲生产环境的热部署
2018-03-13