关于jar包引用的一个问题?
通过ClassLoader可以做到 前提是的确值得你这样做(具体参照Tomcat是如何做到不同的webapp的隔离)
■网友
比较标准化的做法是osgi,但其实呢osgi也挺复杂的。。。比较省事的办法是自己写classloader,但是呢,你需要非常了解java的class loader机制并小心的设计你的load策略。
■网友
如果 AC 也是开源的,去找找相应的升级版。如果不是,就用一些 decompile工具 jgui 反编译 看看 A依赖B 的方法是否很复杂。如果不复杂的话,字节写一个同名类替代掉,功能要么 自己实现,要么 delegate 给D的实现类。如果做不到,单个替换掉 A里的那个调用类 也行。classloader虽然可以解决同名类加载问题,但是不能解决类之间相互依赖。弄太多classloader,会把自己弄晕的,也不好维护。同名类或者接口替代,其实蛮常见的。 用过 slf4j就知道了。最初 common logging被人诟病的一个问题就是 会因为classloader造成内存泄露或者无效引用。
推荐阅读
- 过节■江苏省委省政府办公厅下发关于做好2021年元旦春节期间有关工作的通知
- |徐州市出台《关于优化创新创业生态系统 提升区域科技创新活力的实施意见》及实施细则
- 雨下|全球关于禁售燃油车只是理论上可行吗
- 关于用phpfsocket 写Post, 模拟http 报文怎样写入要传输的处理数据
- 智叔|很多家长还在整箱买:谈谈关于牛奶的17个真相警惕这些列入黑名单的“假牛奶”
- 关于微信小程序的思考:运营者该何去何从
- 关于人工智能虚拟人的一些问题
- 知乎上关于人生经验的介绍是否可能对青少年造成潜在危害
- 写下我关于做数据分析专员的困惑和各位的建议是
- 非物质文化遗产|市北文体中心一场关于“非遗”的盛会…
