动态加载jar

时间:2013-05-29 09:47:58

标签: java jar classloader

我的应用程序需要根据请求动态加载/卸载某些组件(jar文件)。例如,我有abc.jar和xyz.jar,并且根据需要我的应用程序应该能够加载/卸载abc.jar或xyz.jar或用不同版本的jar替换这些jar。你有没有人可以帮助我动态加载/卸载jar文件的任何想法(即无需重新启动服务器)。虽然在网上阅读我对osgi的想法很少,但我不想进入可能使复杂的框架。是否有简单的方法来实现这一目标?我正在使用Java,J2EE和Jetty 6服务器。

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

看看Bracha和Liang的开创性论文“Dynamic class loading in the Java virtual machine”。它们解释了类加载器的工作原理,以及如何使用接口和类加载器来支持动态更改。这是值得一读的(您应该可以通过Google搜索论文的名称获得免费的PDF文件)!

答案 1 :(得分:0)

您可以使用共享库并在应用程序服务器类/库路径中引用它。

您可以随时更改放置在其中的罐子的版本。