java-如何实际运行Rhino?

我在这里阅读了文档:Mozilla’s ‘Scripting Java’

这些示例也没有回答我的问题:Rhino Liveconnect example

例如,我的JavaScript文件如何知道在哪里可以找到“ java.lang”?当然,它可以在Rhino shell中运行,但是我需要从我的javascript文件内部而不是从shell运行Java代码.我只能在下载的源中看到.java文件.

我想在服务器端nodejs javascript中调用服务器端java方法. Rhino是否需要以某种方式启动才能为我的JavaScript提供理解Java的能力?

编辑:
@eee因此,如果我理解正确,Rhino实际上不会让我从javascript运行Java,它只是将我所有的javascript转换为java .class文件…我毕竟必须在java文件中执行?这种方式无法实现从javascript调用Java的目的.整个想法是能够从我的JavaScript代码内部调用任何Java代码,而不必构建新的Java库.

这不是说我不能使用Rhino吗? Nodejs使用V8引擎执行javascript,因此我假设V8和Rhino都不能使用单个javascript文件…我希望我可以调用java方法,这将启动Rhino并翻译这些调用. Java.
然后,Java本身将返回一些数据填充的变量.

@Peter:为什么要打电话?我的JavaScript和Java现在都位于同一台服务器上.无论如何,您所说的并不完全需要Rhino,对吗?我会创建一堆.class文件,然后调用’java myfile.class -v“ firstvar” -x“ secondvar”’..我是否正确理解您的意思?

解决方法:

Rhino实际上确实允许我从JavaScript脚本运行Java.没什么可做的. LiveConnect使您可以访问java.*包中的所有内容.如果希望自己的代码可访问,则只需将类(编译的Java代码)添加到应用程序的类路径中.

I want to call serverside java methods in my serverside nodejs javascript.

Rhino是javascript解释器,表示它运行javascript代码. V8是NodeJS的javascript解释器.您必须选择Rhino或V8. V8使用C语言,并且深深嵌入在NodeJS中. Rhino是Java语言,无法轻松替换V8.有一些项目(长期)可以在Rhino上移植NodeJS,但是除非您准备好参与其中,否则请不要等待.

上一篇:javascript-如何在防火墙后面使用mozilla Rhino?


下一篇:javascript-如何在json对象中使用可变定义的键?