使用java代码调用JS代码运行在shell中
程序员文章站
2022-06-07 13:26:23
...
使用java代码调用JS代码运行在shell中
准备java代码
[root@Bing-Data-node2 javascript]# vim RunJavaScriptFile.java
import java.io.FileReader;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
public class RunJavaScriptFile {
public static void main(String[] args) {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
try {
// 需要执行js 代码文件名称
FileReader reader = new FileReader(args[0]);
// 运行js
engine.eval(reader);
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
准备js代码
[root@Bing-Data-node2 javascript]# vim testFile.js
r="red">,c]]=
function add(a, b,d) {
c = a + b + d;
return c;
}
result = add (10, 10, 2000);
print ('js执行结果 = ' + result);
~
编译java
javac RunJavaScriptFile.java
执行java 代码 ,在java代码中勾起JS 进行运行
java RunJavaScriptFile + js文件名称
查看结果
[root@Bing-Data-node2 javascript]# ls
RunJavaScriptFile.java testFile.js
[root@Bing-Data-node2 javascript]# javac RunJavaScriptFile.java
[root@Bing-Data-node2 javascript]# ls
RunJavaScriptFile.class RunJavaScriptFile.java testFile.js
[root@Bing-Data-node2 javascript]# java RunJavaScriptFile
java.lang.ArrayIndexOutOfBoundsException: 0
at RunJavaScriptFile.main(RunJavaScriptFile.java:12)
[root@Bing-Data-node2 javascript]#
[root@Bing-Data-node2 javascript]# java RunJavaScriptFile testFile.js
js执行结果 = 2020
[root@Bing-Data-node2 javascript]#
好用!简单!不用安装nodejs环境!
上一篇: 真的太吓人