Я разрабатываю веб-приложение со встроенной компонентной архитектурой (плагинами). Мое требование состоит в том, чтобы добавить новый плагин jar (classes) в приложение без перезапуска приложения, его следует удалить в веб-приложении lib или в каталоге плагина, и приложение сможет его поднять.
Я пробовал это с сервером tomcat, но он не смог загрузить файл jar, упавший в его каталог lib после его запуска.
Может ли кто-нибудь предложить лучший способ сделать это?
ваша попытка хорошая, что бы вы ни пытались сделать, может помочь вам под кодом ниже
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 и находятся в каталоге расширений.
Классы пользователей - это классы, определенные разработчиками и третьими лицами и не использующие механизм расширения.