Всем привет!Мне нужно сделать чтоб при выполнении определённого условия,загружался("включался" определённый java файл(класс)). Как можно реализовать "включение нужного java файла?
Если вы хотите динамически загружать код в ClassLoader, то нужно скомпилировать код из .java в .class файл. Потом его можно загрузить аналогично сниппету ниже:
File file = new File("c:\\myclasses\\");
try {
URL url = file.toURL();
URL[] urls = new URL[]{url};
ClassLoader cl = new URLClassLoader(urls);
Class cls = cl.loadClass("com.mycompany.MyClass");
} catch (MalformedURLException e) {
} catch (ClassNotFoundException e) {
}
Если же вы хотите динамически компилировать отдельный .jar и запускать его параллельно, то можно использовать что-то вроде:
final Runtime rt = Runtime.getRuntime();
rt.exec("javac source_2.java");
rt.exec("jar -cf jar_2.jar myApp");
rt.exec("java -jar jar_2.jar");
Чтобы сперва скомпилировать второй .jar, а затем запустить его
Продвижение своими сайтами как стратегия роста и независимости