我正在设计一个带有可插拔组件架构(插件)的Web应用程序。我的要求是在不重新启动应用程序的情况下将新的插件jar(类)添加到应用程序中,它应该放在Web应用程序的lib或插件目录中,应用程序应该可以将其拾取。
我尝试使用tomcat服务器,但是一旦启动就无法加载掉放到lib目录中的jar文件。
有人可以提出最好的方法吗?
答案 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目录中。
用户类是由开发人员和第三方定义的类,不利用扩展机制。