在哪里可以找到可用的 JSR-223 脚本语言列表?[已关闭]

2022-09-01 01:32:38

我需要一种基于JVM的脚本语言来为我的应用程序,并想看看除了Groovy,Ruby和Python之外还有什么。

谷歌不断将我指向一个死页面 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中嵌入lua?


答案 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 脚本引擎

  • 断续器
  • 豆壳
  • ejs
  • 免费标记
  • 槽的
  • 贾斯克尔
  • 爪哇岛
  • JavaScript
  • JavaScript (Web Browser)
  • 果冻
  • 杰普
  • 杰克斯尔
  • 杰斯特
  • 柔道脚本
  • 朱尔
  • 断续器
  • 螺母
  • 红宝石
  • 方案
  • 断续器
  • 速度
  • XPath
  • 断续器

在其他地方维护的 JSR 223 脚本引擎

  • JavaFX Script
  • 断续器
  • 苹果脚本
  • 贝克斯脚本
  • OCaml 脚本项目
  • 菲律宾比索
  • PHP (另一个)
  • 小话
  • CajuScript
  • 数学周期
  • 科特林

对于下载链接,请查看索引.html我上面提到的。对于任何 java.net 项目,只需删除开发,scripting.dev.java.net 变得 scripting.java.net。您可能必须在存储库中浏览旧网页。

值得注意的是,JavaScript引擎(Rhino)正在为Java 8完全重写。新名字是Nashorn。有关详细信息,请参阅: http://openjdk.java.net/projects/nashorn/


推荐