我在哪里可以找到可用的JSR-223脚本语言列表?

HDa*_*ave 36 java scripting jsr223

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

谷歌一直指着我在http://scripting.dev.java.net/上的一个死页

dav*_*tto 26

这不是官方列表,但您可以从这里开始: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);

        }

    }

}
Run Code Online (Sandbox Code Playgroud)

这个例子来自这里:http://www.oracle.com/technetwork/articles/javase/scripting-140262.html

你可能也想尝试Lua.看看这里:我如何在java中嵌入lua?

  • 没有_guarantee_可以在您的JRE中使用JavaScript,Oracle恰好发布它. (4认同)
  • 我没有得到JVM语言和脚本语言之间的联系.顺便说一下 - 我跑完课了,但是唯一一个回来的是犀牛.仍然很高兴有代码...谢谢. (2认同)

Cha*_*ase 24

旧页面位于此处(下载查看,响应时设置了错误的内容类型) http://java.net/projects/scripting/sources/svn/content/trunk/www/index.html?raw=true

JSR-223项目页面上托管的那些可以在http://java.net/projects/scripting/sources/svn/show/trunk/engines上浏览,但列表是:

JSR-223脚本引擎

  • AWK
  • BeanShell的
  • EJS
  • FreeMarker的
  • Groovy的
  • Jaskell
  • Java的
  • JavaScript的
  • JavaScript(Web浏览器)
  • 果冻
  • JEP
  • JEXL
  • JST
  • JudoScript
  • JUEL
  • OGNL
  • PNUTS
  • 蟒蛇
  • 红宝石
  • 方案
  • 睡觉
  • TCL
  • 速度
  • XPath的
  • XSLT

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

  • JavaFX脚本
  • ABCL
  • AppleScript的
  • Bex脚本
  • OCaml脚本项目
  • PHP
  • PHP(另一个)
  • 蟒蛇
  • 短暂聊天
  • CajuScript
  • MathEclipse

对于下载链接,请查看我在上面提到的index.html.对于任何java.net项目,只需删除dev so scripting.dev.java.net即成为scripting.java.net.您可能必须浏览旧网页的仓库.

值得注意的是,JavaScript引擎(Rhino)正在为Java 8完全重写.新名称是Nashorn.欲了解更多信息,请访问:http://openjdk.java.net/projects/nashorn/

  • 给出的链接不再有效:“我们很抱歉 java.net 站点已关闭。” 我在这里找到了一个镜子:https://github.com/scijava/javax-scripting (2认同)
  • 请注意,在JDK 11中不推荐使用Nashorn进行删除.由于Rhino,您仍然可以从JSR-223脚本API中请求javascript,但我不会依赖Nashorn进行新项目. (2认同)