(Этот вопрос похож на многие вопросы, которые я видел, но большинство из них недостаточно специфичны для того, что я делаю)
Фон:
Цель моей программы - облегчить людям, которые используют мою программу, сделать так, чтобы пользовательские "плагины", а затем компилировать и загружать их в программу для использования (vs имеет неполный медленный парсер, реализованный в моем программа). Моя программа позволяет пользователям вводить код в предопределенный класс, расширяя скомпилированный класс, упакованный вместе с моей программой. Они вводят код в текстовые панели, тогда моя программа копирует код в переопределенные методы. Затем он сохраняет это как .java файл (почти), готовый для компилятора. Программа запускает javac (java-компилятор) с сохраненным .java файлом в качестве его ввода.
Мой вопрос заключается в том, как я могу его получить, чтобы клиент (используя мою скомпилированную программу) сохранил этот java файл (который расширяет мой интерфейс) в любом месте на своем компьютере, его программа скомпилирует (не говоря уже "не может найти символ: InterfaceExample" ), затем загрузите его и вызовите метод doSomething()?
Я продолжаю видеть Q & A, используя отражение или ClassLoader, и тот, который почти описывает, как его скомпилировать, но ни один из них не является достаточно подробным для меня/я не понимаю их полностью.