我已经阅读了这里的文档:Mozilla's 'Scripting Java'
这些示例也不能回答我的问题:Rhino Liveconnect example
例如,我的 javascript 文件如何知道在哪里可以找到“java.lang”?当然,它可以在 Rhino shell 中运行,但我需要从我的 javascript 文件中运行 java 代码,而不是从 shell 中运行。我只能在下载的源代码中看到 .java 文件。
我想在我的服务器端 nodejs javascript 中调用服务器端 java 方法。是否不需要以某种方式启动 Rhino 来为我的 javascript 提供理解 java 的能力?
编辑: @eee 所以如果我理解正确,Rhino 实际上并没有让我从 javascript 运行 java,它只是将我所有的 javascript 转换为 java .class 文件......毕竟我必须在 java 文件中执行?这违背了从 javascript 调用 java 的目的。整个想法是能够从我的 javascript 代码中调用任何 java 代码,而无需构建新的 java 库。
那不是说我不能用Rhino吗?Nodejs 使用 V8 引擎来执行 javascript,所以我假设一个 javascript 文件不能同时被 V8 和 Rhino 使用......我希望我可以调用 java 方法,这将启动 Rhino 来翻译这些调用到爪哇。然后,Java 本身将返回填充了一些数据的变量。
@Peter:为什么是 http 调用?我的 javascript 和我的 java 现在都位于同一台服务器上。无论如何,你所说的并不完全需要 Rhino,不是吗?我会创建一堆 .class 文件,然后调用'java myfile.class -v“firstvar”-x“secondvar”'..我理解正确吗?