如何在运行时从jar文件加载类?

时间:2014-09-30 04:37:17

标签: java tomcat java-ee jboss

我正在设计一个带有可插拔组件架构(插件)的Web应用程序。我的要求是在不重新启动应用程序的情况下将新的插件jar(类)添加到应用程序中,它应该放在Web应用程序的lib或插件目录中,应用程序应该可以将其拾取。

我尝试使用tomcat服务器,但是一旦启动就无法加载掉放到lib目录中的jar文件。

有人可以提出最好的方法吗?

1 个答案:

答案 0 :(得分:0)

您的尝试很好,您尝试做的事情可以通过以下代码帮助您

URL urls [] = {};

JarFileLoader cl = new JarFileLoader (urls);

cl.addFile ("/opt/mysql-connector-java-5.0.4/mysql-connector-java-5.0.4-bin.jar");

System.out.println ("attempt...");

cl.loadClass ("org.gjt.mm.mysql.Driver");

System.out.println ("Success!");

我希望这会对你有所帮助

JVM按以下顺序搜索并加载类:

Bootstrap类,它是构成Java平台的类,包括rt.jar中的类和其他几个重要的JAR文件。

扩展类,它使用Java扩展机制。这些类捆绑为JAR文件,位于extensions目录中。

用户类是由开发人员和第三方定义的类,不利用扩展机制。