Где я могу найти список доступных языков сценариев JSR-223?
Мне нужен язык сценариев на основе JVM для моего приложения и хотелось бы посмотреть, что еще там, кроме Groovy, Ruby и Python.
Google продолжает указывать мне мертвую страницу на http://scripting.dev.java.net/
Ответы
Ответ 1
Это не официальный список, но вы можете начать здесь: http://en.wikipedia.org/wiki/List_of_JVM_languages
Rhino (JavaScript) по умолчанию реализован в Oracle JDK/JRE.
С помощью этого кода вы можете увидеть, какие языки сценариев доступны в вашем JDK:
import java.util.*;
import javax.script.*;
public class A {
public static void main( String[] args ) {
ScriptEngineManager mgr = new ScriptEngineManager();
List<ScriptEngineFactory> factories = mgr.getEngineFactories();
for (ScriptEngineFactory factory : factories) {
System.out.println("ScriptEngineFactory Info");
String engName = factory.getEngineName();
String engVersion = factory.getEngineVersion();
String langName = factory.getLanguageName();
String langVersion = factory.getLanguageVersion();
System.out.printf("\tScript Engine: %s (%s)%n", engName, engVersion);
List<String> engNames = factory.getNames();
for(String name : engNames) {
System.out.printf("\tEngine Alias: %s%n", name);
}
System.out.printf("\tLanguage: %s (%s)%n", langName, langVersion);
}
}
}
Этот пример был получен здесь: http://www.oracle.com/technetwork/articles/javase/scripting-140262.html
Вы можете попробовать Lua тоже. Посмотрите здесь: как я могу вставить Луа в Java?
Ответ 2
Старая страница находится здесь https://web.archive.org/web/20070610234337/https://scripting.dev.java.net/
Те, которые размещены на странице проекта JSR-223, можно просмотреть по адресу https://web.archive.org/web/20140909141915/https://java.net/projects/scripting/sources/svn/show/trunk/engines, но список:
Скриптовые движки JSR-223
- AWK
- BeanShell
- EJS
- FreeMarker
- Groovy
- Jaskell
- Джава
- JavaScript
- JavaScript (веб-браузер)
- Желе
- СЭП
- Jexl
- Jst
- JudoScript
- Juel
- OGNL
- Pnuts
- питон
- Рубин
- Схема
- Спать
- Tcl
- Скорость
- XPath
- XSLT
Сценарии JSR 223, поддерживаемые в других местах
- JavaFX Script
- ABCL
- AppleScript
- Bex скрипт
- Скриптовый проект OCaml
- PHP
- PHP (еще один)
- питон
- Болтовня
- CajuScript
- MathEclipse
Ссылки на скачивание смотрите в index.html, который я упоминал выше. Для любого из проектов java.net просто удалите dev, чтобы scripting.dev.java.net стал scripting.java.net. Возможно, вам придется искать в репо для старых веб-страниц.
Одна примечательная вещь, движок JavaScript (Rhino) полностью переписан для Java 8. Новое имя - Nashorn. Для получения дополнительной информации см.: http://openjdk.java.net/projects/nashorn/
Ответ 3
Я не знаю полного списка.
Однако стоит отметить, что вы можете использовать практически любой встраиваемый JVM-язык для сценариев, если он поддерживает динамическую компиляцию/выполнение во время выполнения. Это не имеет значения, если это JSR233 или нет.
Например, я использую Clojure для создания сценариев (с помощью собственного DSL) в нескольких моих приложениях.
Я не пробовал это сам, но я думаю, вы могли бы также использовать Scala: scala как язык сценариев
FWIW, мой личный выбор:
- Clojure для возможностей выразительной мощности /DSL (если вы используете возможности сценариев самостоятельно или с командой экспертов)
- Groovy, если ваша основная цель - простота использования для конечных пользователей (из-за простоты и сходства с Java).
Ответ 4
также я нашел эту страницу: http://java-source.net/open-source/scripting-languages
они упоминают другие языки script,
как Basic, называемый JBasic, LUA, LuaJava... ePascal и многие другие