#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 то есть только недокументированные возможности (я уже забыл какие).
Комментариев нет:
Отправить комментарий