2016-08-01 4 views
0

私はプロジェクトを完了する必要があり、javax.scriptを使用することはできません。したがって、Nashornを使用できますが、javax.scriptは使用できませんか?Nashornを使用しますが、javax.scriptを使用しない

+0

あまり明確な質問ではなく、もう少し詳しく説明できますか?あなたは最新のJavaバージョンを使用していますか? JDKまたはJREをIDEにインポートしましたか?あなたはNashornを使って、javax.scriptを使わないことはどういう意味ですか? [this](http://winterbe.com/posts/2014/04/05/java8-nashorn-tutorial/)のような簡単なチュートリアルを読んだことがあります – AntJavaDev

+0

もちろんNashornを使うことができます。コマンドラインからjjsを使用してください。それ以外の場合は、コードからjavax.script.ScriptEngineを使用します。私はなぜあなたがjavax.scriptを使用できないと思うのか不思議です。これはJavaランタイムの一部であり、Java 8の別のクラスと同じです。考えられる[X-Y問題](http://xyproblem.info/)。 – ManoDestra

答えて

1

jdk/binの "jjs"コマンドラインツールを使用してスクリプトを評価することができます。このツールは、ファイル/ URLからスクリプトを評価することも、インタラクティブモードで作業することもできます。このツールではjavax.script APIは使用しませんが、直接Nashornを使用します。

1

Nashorn APIを直接使用することができます。 jdk.nashorn.api.scripting.NashornScriptEngineFactoryクラスから始めることができますが、多くのAPIは暗黙のうちにjavax.scriptパッケージに依存しています。私はあなたになぜ制限があるのか​​は分かりません。 javax.scriptは、標準のJDKパッケージです、それは、Javaの1.5周囲または6

ので、すべてのJavaランタイムに言ったのですNashornScriptEngineFactoryはあなたができるようにするgetScriptEngine()方法についていくつかのオーバーロードがありますので、直接APIの使用は、あなたは、カスタマイズされたScriptEngine Sを取得することができますjjsコマンドライン引数、エンジンで使用するカスタムクラスローダーなどを渡します。

Nashorn APIを直接使用して購入するという別の小さなことは、あなたが確かにNashornエンジンを取得しているということです。ちょうどjavax.scriptからJSエンジンを要求した場合、

関連する問題