Страницы

Поиск по вопросам

четверг, 6 июня 2019 г.

Динамическое подключение и использование java-классов

Продолжение вопроса. Узнал и разобрался как XJC генерирует классы для типов. Отсюда вопрос - как динамически подключать и использовать их?


Ответ

Я вопрос понял. Вопрос сложный. По сути речь идет о том, чтобы в рантайме скомпилировать исходники и прицепить к аппе - фактически состоит из 2-х частей: Как подключить класс в рантайме Как скомпилировать класс в рантайме Если первый решается загрузчиком класса - конструкцией типа Class.forName() в связке с ClassLoader, то второй вопрос сложнее, но при использовании Java >= 6 это решаемо: String fileToCompile = "MyClass.java"; JavaCompiler compiler = javax.tools.ToolProvider.getSystemJavaCompiler(); int compilationResult = compiler.run(null, null, null, fileToCompile); Если Java < 6 то есть только недокументированные возможности (я уже забыл какие).

Комментариев нет:

Отправить комментарий