jjs

jjsコマンド行ツールは、Nashornエンジンを起動する場合に使用します。

形式

ノート:

jjsツールおよびNashornエンジンは、将来のリリースでの削除に備えてJDK 11では非推奨です。
jjs [options] script-files [-- arguments]
options

これは、jjsコマンドの1つ以上のオプションを空白で区切ったものです。「jjsコマンドのオプション」を参照してください。

script-files

これは、Nashornエンジンを使用して解析する1つ以上のスクリプト・ファイルを空白で区切ったものです。ファイルを指定しない場合は、対話型シェルが起動されます。

arguments

二重ハイフンのマーカー(--)の後ろにある値はすべて、引数としてスクリプトまたは対話型シェルに渡されます。これらの値には、argumentsプロパティを使用することでアクセスできます。

説明

jjsコマンド行ツールは、Nashornエンジンを起動するために使用されます。このツールを使用すると、1つまたは複数のスクリプト・ファイルを解析したり、対話型シェルを実行したりできます。

jjsコマンドのオプション

jjsコマンドのオプションによって、Nashornエンジンでスクリプトが解析される条件が制御されます。

-Dname=value

プロパティ名に値を割り当てることで、スクリプトに渡されるシステム・プロパティを設定します。次の例は、Nashornエンジンを対話型モードで起動し、myKeyという名前のプロパティにmyValueを割り当てる方法を示しています。

>> jjs -DmyKey=myValue
jjs> java.lang.System.getProperty("myKey")
myValue
jjs>

このオプションを繰り返すと、複数のプロパティを設定できます。

--add-modules modules

rootユーザーJavaモジュールを指定します。

-cp pathまたは-classpath path

サポートするクラス・ファイルへのパスを指定します。複数のパスを設定するには、このオプションを繰り返すか、または各パスを次の文字で区切ります。

  • Oracle Solaris、LinuxおよびmacOS: コロン(:)

  • Windows: セミコロン(;)

-doe=[true|false] or -dump-on-error=[true|false]

エラーが発生したときに完全なスタック・トレースを提供します。デフォルトでは、簡単なエラー・メッセージのみが出力されます。デフォルト・パラメータはfalseです。

-fv=[true|false] or -fullversion=[true|false]

完全なNashornバージョン文字列を出力します。デフォルト・パラメータはfalseです。

-fx=[true|false]

スクリプトをJavaFXアプリケーションとして起動します。デフォルト・パラメータはfalseです。

ノート:

スクリプトをJavaFXアプリケーションとして起動するには、JavaFXモジュールを明示的に追加する必要があります。次の例では、--module-pathオプションでJavaFXモジュールの場所を指定し、--add-modulesオプションでJavaFXモジュールを追加します。

jjs -fx --module-path /SOMEDIR/javafx-sdk-11/lib --add-modules javafx.controls HelloWorld.js

次の例では、jlinkコマンドを使用して、JavaFXモジュールが含まれるカスタム・ランタイム・イメージを作成します。その後で、jjsコマンドでJavaFXモジュールを指定せずに、スクリプトをJavaFXアプリケーションとして起動しています。

jlink --module-path /SOMEDIR/javafx-jmods-11 --add-modules jdk.scripting.nashorn,jdk.scripting.nashorn.shell,javafx.controls --output /SOMEDIR/myjdk

/SOMEDIR/myjdk/bin/jjs -fx HelloWorld.js

JavaFXモジュールが明示的に指定されていない場合、jjsコマンドはメッセージを出力して終了します。

jjs -fx HelloWorld.js

JavaFXは使用できません。

-h または-help

オプションとその説明のリストを出力します。

--language=[es5|es6]

ECMAScript言語バージョンを指定します。デフォルトのバージョンはES5です。

--module-path path

ユーザーJavaモジュールの検索場所を指定します。

-ot=[true|false]または-optimistic-types=[true|false]

再コンパイルの最適化を解除してオプティミスティック・タイプ仮定を有効または無効にします。これにより、コンパイラは、コンパイル時にタイプが証明できないプログラム・シンボルに対して、可能なかぎり狭くプリミティブにタイプ付けしようとします。シンボルのタイプが狭すぎるためにランタイムでエラーが発生した場合は、安定したステージに達するまでより広いメソッドが生成されます。これは、可能なかぎり最適なJavaバイトコードが生成される一方で、誤ったタイプ推測によってウォームアップが長くなります。現在、オプティミスティック・タイプ付けはデフォルトで有効になっていますが、起動時のパフォーマンスを向上させるために無効にすることができます。デフォルト・パラメータはtrueです。

-scripting=[true|false]

シェルのスクリプト機能を有効にします。デフォルト・パラメータはtrueです。

-strict=[true|false]

一般的なコーディング・エラーを簡単に検出できるように、より厳しく標準(ECMAScript Edition 5.1)に準拠させる厳密モードを有効にします。デフォルト・パラメータはfalseです。

-t=zoneまたは-timezone=zone

スクリプトの実行用に指定したタイムゾーンを設定します。OSに設定され、Dateオブジェクトで使用されているタイムゾーンはオーバーライドされます。デフォルトのゾーンAmerica/Los_Angelesです。

-v=[true|false]または -version=[true|false]

Nashornバージョン文字列を出力します。デフォルト・パラメータはfalseです。

Nashornを使用してスクリプトを実行する例

jjs script.js

Nashornを対話型モードで実行する例

>> jjs
jjs> println("Hello, World!")
Hello, World!
jjs> quit()
>>

Nashornに引数を渡す例

>> jjs -- a b c
jjs> arguments.join(", ")
a, b, c
jjs>