Java ScriptEngine 지원 언어
-
21-12-2019 - |
문제
Java에는 ScriptEngine 시스템을 실행할 수 있습니다 /다른 언어로 진술을 평가하십시오.
JavaScript가 지원되는 사실을 알고 있지만 다른 언어를 찾을 수 없습니다.
예를 들어, 루비가 구현 되었습니까?
해결책
.. JavaScript가 지원되는 사실을 알고 있습니다.
Ecmascript , 기술적으로.
..하지만 다른 언어를 찾을 수 없었습니다. 예를 들어, 루비가 구현 되었습니까?
아니오.ECMAScript 엔진은 기본적으로 내가 들었던 유일한 것입니다.
다른 팁
여기에 시스템에서 모든 언어를 결정하는 스크립트가 있습니다.
import java.util.List;
import javax.script.ScriptEngineManager;
import javax.script.ScriptEngine;
import javax.script.Bindings;
import javax.script.ScriptContext;
import javax.script.ScriptEngineFactory;
public class Test {
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);
}
}
}
.
희망이 도움이됩니다.
ScriptEngine이 아니지만 여전히 BSF를 사용할 수 있습니다. relinchache commons bean scripting framework 여기 . -
BSF 2.x는 현재 여러 스크립팅 언어를 지원합니다 :
- JavaScript (모질라 프로젝트에서 Rhino ECMAScript 사용)
- NetRexx (Java의 IBM Rexx 스크립팅 언어의 확장자)
- commons jexl
- 파이썬 (Jython 사용)
- "Jacl 사용
- XSLT 스타일 시트 (Apache XML 프로젝트의 Xalan 및 Xerces의 구성 요소로서)
또한 다음 언어는 자체 BSF 엔진에서 지원됩니다.
몇 가지 다른 언어가 있습니다.예를 들어 Jython (Java의 Python 구현).다른 언어를 사용하는 방법은 jar 파일을 클래스 패스에 추가하고 올바른 이름을 참조하는 것입니다.
루비의 경우 Jruby가 있습니다.다음을 참조하십시오 : https://github.com/jruby/jruby/wiki/javaintegration
ScriptEngineManager m = new ScriptEngineManager();
ScriptEngine rubyEngine = m.getEngineByName("jruby");
. Java ScriptEngine API는 모든 JSR-223 스크립팅 언어에서 작동합니다. 나는 이것들이 이전에 잘 문서화 된 완전한 목록을 발견하지 못했지만이 게시물은 꽤 좋은 직업을합니까? 사용 가능한 목록을 어디에서 찾을 수 있습니까? JSR-223 스크립팅 언어? 그 게시물의 한 명의 목록이 있습니다.
JSR-223 스크립트 엔진
- awk
- beanshell
- ejs
- 프리 엠 마커
- groovy
- jaskell
- 자바
- 자바 스크립트
- JavaScript (웹 브라우저)
- jelly
- jep
- jexl
- jst
- judoscript
- juel
- ognl
- pnuts
- python
- 루비
- scheme
- 수면
- tcl
- 속도
- xpath
- xslt
JSR 223 스크립트 엔진이 다른 곳에서 유지 관리
- javafx 스크립트
- abcl
- AppleScript
- BEX 스크립트
- OCAML 스크립팅 프로젝트
- php
- php (다른 하나)
- python
- smalltalk
- cajuscript
- matheclipse
대부분은 일할 특별한 구현을 갖습니다. 예를 들어 Python만으로는 작동하지 않습니다. Jython Jar가 클래스 경로에 추가되어야합니다. 루비에 대해서는 Jruby가 필요합니다.