Я следую примеру http://docs.codehaus.org/display/JANINO. /Advanced#Advanced-compiler
Вот что работает, когда я помещаю файлы для компиляции во время выполнения в папку под названием scripts в каталоге src:
Код: Выделить всё
String engineClass = "DefaultEngine"; //name of engine class
String guiClass = "DefaultGUI"; // name of gui class
ClassLoader cl = new JavaSourceClassLoader(
this.getClass().getClassLoader(),
new File[]{new File("scripts")},
(String) null,
DebuggingInformation.NONE);
AbstractEngine engine = (AbstractEngine) cl.loadClass(engineClass).newInstance();
AbstractGUI gui = (AbstractGUI) cl.loadClass(guiClass).newInstance();
Я смогу заставить ее работать только при запуске проекта изнутри IDE с папкой сценариев в каталоге src.
Когда я пытаюсь запустить проект, используя папку сценариев в той же папке, что и файл jar, он выдает исключение ClassNotFoundException. на
Код: Выделить всё
AbstractEngine engine = (AbstractEngine) cl.loadClass(engineClass).newInstance();
Подробнее здесь: https://stackoverflow.com/questions/385 ... ory-as-jar