問題タブ [scriptengine]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
144 参照

java - リフレクションはクラスを新しい名前にバインドできますか?

プログラムのユーザーがクラス内のクラスとメソッドの名前を変更できるようにしようとしています。新しい名前は実行時に読み込んで構成でき、Java Script Engine を使用してスクリプト言語でこれらのクラスとメソッドを呼び出します。新しい名前をクラスとメソッドの実際の名前にバインドする方法が必要です。Reflection を検討してきましたが、これで必要な機能が得られるとは思いませんか、それとも可能でしょうか?

元:

それからおそらくPaythonで言う

これが不可能かどうか教えてください!

0 投票する
1 に答える
6532 参照

java - Java ScriptEngine を介して JavaScript で jar を使用する

JavaScript 内で jar ファイルのクラスを使用する必要があります。私は Java ScriptEngine を介して JavaScript を使用しており、ここで Jython で行ったことと同様のことをしたいと考えています。

When I do this with Jython it works fine and the python files can use the api classes that are inside the jar file.

0 投票する
3 に答える
2277 参照

java - javaコードからwindow.atob() javascript関数を呼び出す方法は?

rhino を使用しようとしています。window.atob(param)Java コードから JavaScript 関数を使用したい。まず、それは可能ですか?これは私が試したものです。

次の例外が発生しています。

Javaを使用してデコードできることは知っていますが、rhinoを使用してデコードする方法を教えてもらえますか?

0 投票する
1 に答える
418 参照

scala - Scala 2.11.2 ScriptEngine は .getEngineByName("scala") に対して Null です

IntelliJ IDEA Scala ワークシートを使用しています。(スカラ 2.11.2)

Scala 用の ScriptEngine を取得しようとしています。

しかし、私は得るnull

Scala ワークシートで Scala ScriptEngine を取得するにはどうすればよいですか?

0 投票する
2 に答える
2637 参照

scala - Scala 2.11.2 ScriptEngine がエラーをスローする

InteliJ IDEA Scala Worksheet (Scala 2.11.2) で Scala ScriptEngine を実行しようとしています。

次のコード:

エラーをスローします:

次のようにbuild.sbt:

必要なすべての依存関係が含まれていますが、なぜ機能しないのかわかりません。

Eclipse Luna + Eclipse IDE 4 の同じプロジェクトは正常に動作します!

InteliJ IDEA で実行するには?

0 投票する
1 に答える
1079 参照

java - Java ScriptEngine インスタンスを破棄するにはどうすればよいですか?

私は Java 8 を使用しています。私は Java の専門家ではありません (10 年前の大学時代から Java を見たことはありません)。

ScriptEngine (重要な場合は Nashorn) のインスタンスを作成します。これを使用して、いくつかの JavaScript ファイルを評価します。

スクリプトは、独自の小さな JavaScript の世界で非常に楽しく動きます。大好きです。

一部の Java スクリプトが変更された場合に備えて、File System WatchService も実行しています。それらが変更されたら、新しい ScriptEngine を作成し、新しい ScriptEngine オブジェクトを使用して JavaScript ファイルの新しいバージョンを評価します。

私の問題は、新しいscriptEngineを作成すると、古いscriptEngineを「殺す」ことができないことです。古いスクリプトは無期限に実行され続けます。

古い scriptEngine オブジェクトによって使用されているリソースを解放したいと考えています。そして、私はそれがやっていることをやめる必要があります(両方が同じことをしようとすると、新しいインスタンスと競合する可能性があるため)。

では、内部で生成されたスレッドを含め、古い ScriptEngine を完全に削除するにはどうすればよいでしょうか?

0 投票する
2 に答える
1382 参照

java - Java が選択する JS スクリプト エンジンはどれですか?

ScriptEngineManager.getEngineByName は、特定の名前の ScriptEngine を検索して作成します。

Rhino は自身を「js」、「rhino」、「JavaScript」、「javascript」、「ECMAScript」、および「ecmascript」として登録します。

Nashorn は、自身を「nashorn」、「Nashorn」、「js」、「JS」、「JavaScript」、「javascript」、「ECMAScript」、および「ecmascript」として登録します。

Nashorn と Rhino の両方が登録している "js" のような名前を使用すると、どのスクリプト エンジンが使用されますか? Java 8 では Nashorn を使用し、それ以外の場合は Rhino を使用しますか?