2010-12-10 18 views
1

Возможные Дубли:
using eval in Java
Loading external source code and using them internally (by re-compiling or something)Запуск Java кода из Java

Я хочу, чтобы имитировать 'Eval' в Java, что функция принимает строку (некоторые исходный код), компилирует его, запускает и отбрасывает возвращаемое значение.

Я знаю, что могу скомпилировать его с помощью JavaCompiler API, но я не уверен, что лучший способ для этого выполнить код такой. Runtime.exec чувствует себя слишком тяжелым для этой задачи ... Я не хочу запускать другой Java-процесс каждый раз, когда я запускаю эту функцию eval только для оценки «30 +20» или еще чего-то. Это будет медленным и ресурсоемким.

Наконец, это должно быть в состоянии выполнить какой-либо код Java, поэтому полагаться на языке сценариев оценщика в Java не будет делать (напр., Если входной является более сложным, чем просто Java '30 +20')

Любые альтернативы?

+0

Также возможно dup of [Как я могу вызвать динамический код Java?] (Http://stackoverflow.com/q/588242/139010) – 2010-12-10 04:17:39

ответ

0

Я никогда не делал этого сам, но вы можете написать свой собственный ClassLoader и загрузить байт-коды в JVM. На этом есть tutorial.

 Смежные вопросы

  • Нет связанных вопросов^_^