Java: встраивание двигателей сценариев в приложение: JSR 223 (Scriptengine) по -прежнему хорошим решением?

StackOverflow https://stackoverflow.com/questions/5358923

  •  27-10-2019
  •  | 
  •  

Вопрос

Я хочу использовать один или много языков сценариев в моем приложении Java.

Из Сайт Jruby Я обнаружил, что есть 3 способа:

  1. Использование Java 6 (с помощью JSR 223: Сценарий)
  2. Встроение в рамку сценариев бобов (BSF)
  3. Непосредственно звонить в $ your_scripting_engine $ apis

Поскольку мне нужно поддерживать более 1 двигателя сценариев, я не думаю, что вариант 3 будет достаточно хорош.

При поиске решения 1. JSR 223: Сценарий, я начинаю искать архив ZIP, содержащий все интеграцию двигателя скрипта

Download and unzip the collection of jars from the documents and files section of the site (jsr223-engines.tar.gz or jsr223-engines.zip).

Но этот файл нигде не в сети (раздел Dowload Проект дома пустой. Если я хочу, я смогу загрузить источники и создать мою необходимую интеграцию Enngines. Код источников выглядит старым (2+ года для того, что я видел)

JSR 223 все еще жив и хорошее решение для выбора? Если нет, является ли структура сценария бобов хорошей альтернативой? У этого последнего есть очень плохая страница документации, и поддерживается только несколько языков сценариев (но она поддерживает большую часть языка, который я хочу иметь) ...

Это было полезно?

Решение

Я встроил Rhino в песочнице в пару приложений и обнаружил, что гораздо проще просто работать напрямую с кодом носорога.

Если вы не хотите встроить несколько разных языков или хотите развернуть на виртуальных машинах, которые уже имеют на месте JSR 223 банок, то я не думаю, что вы получите большую пользу от дополнительного уровня абстракции.

Я бы настоятельно рекомендовал, что вы принимаете во внимание простоту песочницы при выборе языка для встраивания.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top