概要
みんなの Java 読んでいたら、Java の単一ファイル実行試してみたくなったのでやってみた。
環境
Mac で試した。
Java のバージョンは12。
$ java -version openjdk version "12.0.1" 2019-04-16 OpenJDK Runtime Environment (build 12.0.1+12) OpenJDK 64-Bit Server VM (build 12.0.1+12, mixed mode, sharing)
単一ファイルで実行してみる
下記のようなファイルを App.java という名前で用意する
package myapp; public class App { public static void main(String... args) { System.out.println("Hello"); } }
実行してみる。
$ java App.java Hello
すごい。。感動する。
Shebang として実行する
手順は下記の通り
- 先頭に Shebang を書く
- ファイル拡張子を外す
- ファイルに実行権限をつける
#!/usr/bin/env java --source 12 package myapp; public class App { public static void main(String... args) { System.out.println("Hello shebang Java!"); } }
Shebang は --source
で Java のバージョンの指定が必要らしい。
$ mv App.java app # 拡張子を外す $ chmod +x app # 実行権限をつける
実行してみる。
$ ./app Hello shebang Java!
すごい!
小さなプログラムも Java で書きやすくなった!