ここでドキュメントを読みました:Mozillaの「Scripting Java」
これらの例も私の質問には答えません: Rhino Liveconnect の例
たとえば、私のjavascriptファイルは「java.lang」の場所をどのように知っていますか? もちろん、Rhino シェル内で動作しますが、シェルからではなく、javascript ファイル内から Java コードを実行する必要があります。ダウンロードしたソースに .java ファイルしか表示されません。
サーバーサイドのnodejs javascriptでサーバーサイドのJavaメソッドを呼び出したいです。javascript が java を理解できるようにするために、Rhino を起動する必要はありませんか?
編集: @eee したがって、正しく理解できれば、Rhino では実際に javascript から Java を実行することはできません。すべての javascript を Java .class ファイルに変換するだけです...結局のところ、Java ファイル内で実行する必要がありますか? そのようなものは、javascript から Java を呼び出す目的を無効にします。全体的なアイデアは、新しい Java ライブラリを構築することなく、JavaScript コード内から任意の Java コードを呼び出すことができるようにすることです。
それってRhinoが使えないってことじゃないの?Nodejs は V8 エンジンを使用して JavaScript を実行するため、単一の JavaScript ファイルを V8 と Rhino の両方で使用することはできないと想定しています... Java メソッドを呼び出して、Rhino を起動し、それらの呼び出しを変換できることを望んでいました。ジャバに。Java 自体は、変数にデータを入力して返します。
@Peter: なぜ http 呼び出しを行うのですか? 今のところ、JavaScript と Java の両方が同じサーバー上にあります。とにかく、あなたが言っていることは、Rhino を必要としないということでしょうか? 一連の .class ファイルを作成してから、'java myfile.class -v "firstvar" -x "secondvar"' を呼び出します。正しく理解できていますか?