spring boot classloader

栏目: Java · 发布时间: 5年前

内容简介:最近闲暇时写了一个hessian 小测试的工具,为了方便使用了spring boot。该测试工具最关键的步骤是动态加载每个测试模块对应的hessian api的jar包。开始的加载代码为:在IDE直接运行spring boot 的main函数,every thing is ok !当我将项目编译成jar包,上传到测试环境执行:java -jar 后,发现通过URLClassLoader 无法找到hessian的类,一顿调试排查后,IDE 依旧OK,命令起到你jar 依旧无法工作。这是我考虑到是不是sprin

最近闲暇时写了一个hessian 小测试的工具,为了方便使用了spring boot。该测试 工具 最关键的步骤是动态加载每个测试模块对应的hessian api的jar包。开始的加载代码为:

URLClassLoader loader=new URLClassLoader(new URL[]{new URL("file:"+jarPathStrategy.fileStorePath(moduleName,jarname))});
loader.loadClass(className);

在IDE直接运行spring boot 的main函数,every thing is ok !

当我将项目编译成jar包,上传到测试环境执行:java -jar 后,发现通过URLClassLoader 无法找到hessian的类,一顿调试排查后,IDE 依旧OK,命令起到你jar 依旧无法工作。这是我考虑到是不是spring boot的classloader 比较特殊,不是systemclassloader。google一下,果不其然跟我想的一样,spring boot 的classloader 继承体系有所变化。具体参见此大神的实验( http://hengyunabc.github.io/s... )。遂修改代码:

URLClassLoader loader=new URLClassLoader(new URL[]{new URL("file:"+jarPathStrategy.fileStorePath(moduleName,jarname))},parentClassLoader);
loader.loadClass(className);请输入代码

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Web渗透技术及实战案例解析

Web渗透技术及实战案例解析

陈小兵 / 范渊、孙立伟 / 电子工业出版社 / 2012-4 / 89.00元

《Web渗透技术及实战案例解析》从Web渗透的专业角度,结合网络安全中的实际案例,图文并茂地再现Web渗透的精彩过程。《Web渗透技术及实战案例解析》共分7章,由浅入深地介绍和分析了目前网络流行的Web渗透攻击方法和手段,并结合作者多年的网络安全实践经验给出了相对应的安全防范措施,对一些经典案例还给出了经验总结和技巧,通过阅读《Web渗透技术及实战案例解析》可以快速掌握目前Web渗透的主流技术。《......一起来看看 《Web渗透技术及实战案例解析》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具