Создать объект Java из внешнего файла Java - PullRequest
3 голосов
/ 30 мая 2010

Как я могу загрузить файл класса * .java в мое приложение Java и создать объект на основе этого файла класса?

Ответы [ 4 ]

7 голосов
/ 30 мая 2010

Вы можете сделать это, используя классы внутри javax.tools. У вас будет класс ToolProvider, из которого вы сможете получить экземпляр компилятора и скомпилировать код во время выполнения. Позже вы загрузите .class файлы, только что скомпилированные отдельно, с помощью ClassLoader, если только вы не получите напрямую двоичный код для класса и не сможете напрямую его определить.

Взгляните здесь

2 голосов
/ 30 мая 2010

Попробуйте Janino's SimpleCompiler . Простой пример, если вы компилируете класс с открытым конструктором без аргументов.

import org.codehaus.janino.SimpleCompiler;

public class JaninoSimpleTest
{
  public static void main(String[] args) throws Throwable
  {
    String filename = args[0];
    String className = args[1];
    SimpleCompiler compiler = new SimpleCompiler(filename);
    ClassLoader loader = compiler.getClassLoader();
    Class compClass = loader.loadClass(className);
    Object instance = compClass.newInstance();
  }
}
1 голос
/ 02 марта 2014
0 голосов
/ 30 мая 2010

Вы не можете. .Java-файл должен быть скомпилирован в .class, чтобы вы могли его использовать.

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