Страницы

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

четверг, 19 марта 2020 г.

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

#xml #jaxb #java #xsd


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


Ответы

Ответ 1



Я вопрос понял. Вопрос сложный. По сути речь идет о том, чтобы в рантайме скомпилировать исходники и прицепить к аппе - фактически состоит из 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 то есть только недокументированные возможности (я уже забыл какие).

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

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