当我不使用springboot的热部署devtools的时候,项目是可以正常运行,并且可以找到加载库的。但是当我想使用热部署的时候,我发现System.loadLibrary(Core.NATIVE_LIBRARY_NAME)并没有被加载进去,请问有一定的解决方法,可以让我同时使用热部署和加载库吗?同时我发现使用
spring:
devtools:
restart:
additional-exclude:
也是不生效的。
springboot热部署devtools机制问题,它重新加载类时,是通过更换classloader方式,它破坏了“双亲委派机制”,更换过程中,可能导致类库丢失,这种问题很常见,你可以尝试将注册类库的代码和使用类库的地方放到同一个class中试试,可能会避免这个问题
System.loadLibrary(Core.NATIVE_LIBRARY_NAME)