シバンスクリプトを実行する
バージョン 11 以降、Java ではコンパイルせずに自己完結型スクリプトを実行する方法が提供されています(https://openjdk.java.net/jeps/330)。 さらに、Linux および macOS では、ファイルの最初の行に JDK を指定して、Java でスクリプトを作成できます。
これは、 シェバンメカニズム(英語)と呼ばれます。 Java のシェバンサポートは、実行可能なスクリプトを作成する必要があるが、コンパイラーをインストールしたり、bash などのスクリプト言語を使用したりしたくない場合に便利です。
スクリプトを書く
.java拡張子のないファイルを作成します。最初の行を
#!で開始し、その後にスクリプトの実行に使用される JDK へのパスを続けます。sourceを使用して、スクリプトの言語レベルを指定します。 言語レベル 11 以上が必要です。例:
#!/usr/lib/jvm/openjdk-14.0.1/bin/java --source 11スクリプトの本文を記述します。 スクリプトには複数のクラスを含めることができ、標準ライブラリからのインポートを使用できます。 エントリポイントは、最初に宣言されたクラスで
public static void main(String[] args)として定義する必要があります。以下は、有効なシバンスクリプトの例です。
#!/usr/lib/jvm/openjdk-14.0.1/bin/java --source 11 import java.util.Locale; class Hello { public static void main(String[] args) { String lang = Locale.getDefault().getLanguage(); System.out.println(Greetings.getGreeting(lang)); } } class Greetings { static String getGreeting(String lang) { switch (lang) { case "fr": return "Bonjour"; case "es": return "Hola"; case "zh": return "Nǐn hǎo"; case "de": return "Guten Tag"; case "pl": return "Dzień dobry"; case "el": return "Yassas"; case "sv": return "God dag"; default: return "Hi"; } } }chmod +xコマンドを使用して、スクリプトファイルが実行可能であることを確認してください。
スクリプトを実行する
スクリプトをデバッグする
スクリプトの実行 / デバッグ構成を 作成し、 VM オプションを追加してデバッグエージェントをロードします。
リモート JVM デバッグ 実行 / デバッグ構成を使用する プロセスに接続します。
2026 年 3 月 30 日
