我已经阅读了这里的文档: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,Rhino将这些调用转换为Java。Java本身将返回填充了一些数据的变量。
@Peter:为什么要使用http调用?我的javascript和java都在同一台服务器上。无论如何,你所说的并不需要Rhino,对吧?我会创建一堆.class文件,然后调用'java myfile.class -v "firstvar" -x "secondvar"'……我是否理解正确?
这些示例也没有回答我的问题: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,Rhino将这些调用转换为Java。Java本身将返回填充了一些数据的变量。
@Peter:为什么要使用http调用?我的javascript和java都在同一台服务器上。无论如何,你所说的并不需要Rhino,对吧?我会创建一堆.class文件,然后调用'java myfile.class -v "firstvar" -x "secondvar"'……我是否理解正确?
.class
文件而不能运行.java
文件,因为它不是一种脚本语言。如果你想在服务器上运行一个方法,你需要向服务器发送一个请求。一定有一个 JavaScript 库可以比你自己进行 http 调用更容易地实现这一点,但我不知道它是什么。 - Peter Lawreyeval()
。 - eeeJython
,情况也是一样的。 - eee