我需要为我的应用程序基于JVM的脚本语言,并想看到的是还有什么在那里,除了Groovy中,红宝石和Python。
谷歌一直指着我死页, http://scripting.dev.java.net/
我需要为我的应用程序基于JVM的脚本语言,并想看到的是还有什么在那里,除了Groovy中,红宝石和Python。
谷歌一直指着我死页, http://scripting.dev.java.net/
这不是一个正式名单,但你可以从这里开始: http://en.wikipedia.org/wiki/List_of_JVM_languages
犀牛(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了。 看看这里: 如何能够将LUA在java中?
旧的页面位于此处(下载,查看,错误的内容类型的响应集) 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个脚本引擎
JSR 223脚本引擎在其他地方保持
对于下载链接看在我的index.html上面提到。 对于任何java.net项目,使scripting.dev.java.net成为scripting.java.net只是删除了开发。 你可能有一个回购浏览旧网页。
一个值得注意的事情,JavaScript引擎(犀牛)被完全改写为Java 8的新名称是犀牛。 更多请见: http://openjdk.java.net/projects/nashorn/
我不知道一个全面的列表。
不过值得指出的是,你可以使用几乎任何嵌入式JVM语言编写脚本的目的,只要它支持在运行时动态编译/执行。 这并不重要,如果它是JSR233与否。
例如,我在我的几个应用程序使用的Clojure的脚本(使用自定义DSL)。
我还没有尝试过自己,但我想你也可以使用Scala的: 斯卡拉作为脚本语言
FWIW,我的个人选择将是:
此外,我找到了这个网页: http://java-source.net/open-source/scripting-languages
他们都在提其他脚本语言的,就像一个基本一样叫JBasic,LUA,LuaJava ... ePascal和许多其他