用java启动的javascript打开文件

用java启动的javascript打开文件,javascript,java,Javascript,Java,基本上,我需要为我的java应用程序使用一个用javascript编写的库,我正在为如何做到这一点而摇头。这是图书馆:。目前,我正试图让这些例子发挥作用(但没有效果)。它表示未定义要求。就require('jsgo')而言,我可以将我的脚本放入库中,我对它很在行。然而,我不知道如何解析require('fs'),这是从文件读取所需的。以下是我启动脚本的方式: package csgodemo; import java.io.FileReader; import java.io.IOExcept

基本上,我需要为我的java应用程序使用一个用javascript编写的库,我正在为如何做到这一点而摇头。这是图书馆:。目前,我正试图让这些例子发挥作用(但没有效果)。它表示未定义
要求
。就require('jsgo')而言,我可以将我的脚本放入库中,我对它很在行。然而,我不知道如何解析require('fs'),这是从文件读取所需的。以下是我启动脚本的方式:

package csgodemo;

import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;

public class DemoMain {

public static void main (String[] args) throws NoSuchMethodException, IOException, InterruptedException, ScriptException{


    ScriptEngineManager manager = new ScriptEngineManager();
    ScriptEngine engine = manager.getEngineByName("js");
    try {
      FileReader reader = new FileReader("./script.js");
      engine.eval(reader);
      reader.close();
    } catch (Exception e) {
      e.printStackTrace();
    }

}

}

是。。。节点脚本?几乎可以肯定,与节点进程交互会更好。也就是说,还有,但是。。。我不知道,IME最终可能会成为一个充满伤害的世界。要扩展Dave所说的内容,请查看以下问题/答案:-
require
内置于node中(因为node实现了CommonJS标准),而不是普通的旧Javascript。您需要运行
节点
(或调用
脚本引擎
)中的节点库。Rhino是一个可行的选择,但我没有尝试,所以没有保证(但阅读维基百科文章,它看起来很有希望)。顺便说一句,它与java 6(我认为是更高版本)捆绑在一起,所以也许你甚至不知道就拥有了它。正确:Rhino变老了,新的(与java 8捆绑在一起)是Nashorn它是。。。节点脚本?几乎可以肯定,与节点进程交互会更好。也就是说,还有,但是。。。我不知道,IME最终可能会成为一个充满伤害的世界。要扩展Dave所说的内容,请查看以下问题/答案:-
require
内置于node中(因为node实现了CommonJS标准),而不是普通的旧Javascript。您需要运行
节点
(或调用
脚本引擎
)中的节点库。Rhino是一个可行的选择,但我没有尝试,所以没有保证(但阅读维基百科文章,它看起来很有希望)。顺便说一句,它与Java6(我认为是更高版本)捆绑在一起,所以可能您甚至不知道就拥有了它。正确:Rhino变老了,新的(与Java8捆绑在一起)是Nashorn