Компилировать внешний файл Java во время выполнения, используя Eclipse - PullRequest
0 голосов
/ 23 марта 2020

Можно ли динамически скомпилировать внешний файл. java, используя компилятор Java, который использует eclipse, а не JDK?

Я хочу, чтобы мой код:

  1. Динамически создайте. java файл
  2. Скомпилируйте этот. java файл
  3. Используйте рефлексию, чтобы получить информацию об этом файле

Я знаю, как выполнить шаги 1 и 3, но возможен ли шаг 2 только с помощью Eclipse или есть лучшие способы для достижения sh того, что я хочу?

Ответы [ 2 ]

1 голос
/ 23 марта 2020

Да, вы можете использовать для этого компилятор Java. Вам не нужно компилировать файл .java, просто проанализируйте его, чтобы получить абстрактное синтаксическое дерево (AST), содержащее информацию:

  1. Добавьте необходимые JAR-файлы компилятора Eclipse как зависимости от вашего Java приложения
  2. Создайте AST и получите необходимую информацию, например, как в в этом примере
0 голосов
/ 26 марта 2020

В итоге я использовал пакетный компилятор Eclipse, который находится в org.eclipse.jdt.core.compiler.batch.BatchCompiler: https://help.eclipse.org/2019-03/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftask-using_batch_compiler.htm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...