我有两个jar文件.One.jar包含启动进程的主要方法,而其他两个.jar只包含类文件.
在One.jar中,我在其manifest类路径中引用了two.jar.
One.jar包含使用Class.forName()动态加载类的机制
我想要终身只部署One.jar一次.不会对它进行任何更改.
更改将仅在two.jar中发生
我想用更新的two.jar热交换two.jar.我已经看过其他关于热交换的帖子,就像OSGi,ANT的热门交换,但没有任何帮助我.
经过一番研究发现JRebel真的做得更好但我真的不知道如何将它与这些罐子结合起来?我坚持了将近2天.只需要几步信息即可完成.有人帮帮我...这对我来说非常重要...谢谢
嘿大家,我终于找到了解决方案。我真的不知道我会想出这么简单的解决方案。我采纳了 @Thorbj\xc3\xb8rn Ravn Andersen 的想法。我所做的就是首先获取 jar 文件的时间戳,然后使用 URLClassLoader 加载 jar。如果 jar 文件的时间戳发生变化(即,当我用更新的 jar 替换 jar 时),那么我将使用 close() 丢弃旧的 URLClassLoader 对象,并再次使用 URLClassLoader 加载新的 jar。我每次唯一需要检查的是jar的时间戳是否改变。希望这个答案也对其他人有帮助。感谢大家的支持。
\n| 归档时间: |
|
| 查看次数: |
5532 次 |
| 最近记录: |