Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Javaの学習・実行環境-JBangの概要

 Javaの学習・実行環境-JBangの概要

Javaの環境を簡単に構築、実行できるJBangの概要説明です。

kouki.miura

December 29, 2024
Tweet

More Decks by kouki.miura

Other Decks in Programming

Transcript

  1. ・セットアップなしで、すぐにJavaを学習・実行できる ・「.java ファイルを直接実行するJava 11 以降の   サポートは、少し面倒だと感じませんか?」(GitHub READMEより) https://www.jbang.dev/ // SOURCES

    Name.java void main() { System.out.println("Hello JBang!"); Name name = new Name(); System.out.println("Hello " + name.getName()); } Hello.java $ jbang --enable-preview Hello.java [jbang] Building jar for Hello.java… Note: /mnt/c/Files/java/quarkus/Hello.java uses preview features of Java SE 21. Note: Recompile with -Xlint:preview for details. Hello JBang! Hello Kouki Miura JBangとは https://github.com/jbangdev/jbang
  2. Test.java class Test { public static void main(String[] arg) {

    System.out.println("Hello World"); } } 単一ファイル実行結果 ソースコードを書く javacでコンパイル javaでクラスファイル を実行 ソースコードを書く javaで単一ファイルを 実行 Java10以前 Java11以降 単一のソースファイル・プログラムに限定される →Java22で複数ソースファイルも実行できるようになった   (458: Launch Multi-File Source-Code Programs) Mavenリポジトリ等の依存関係を解決できない Java11以降の「単一のソースファイル・プログラムを実行」
  3. // SOURCES Name.java void main() { System.out.println("Hello JBang!"); Name name

    = new Name(); System.out.println("Hello " + name.getName()); } Hello.java $ jbang --enable-preview Hello.java [jbang] Building jar for Hello.java… Note: /mnt/c/Files/java/quarkus/Hello.java uses preview features of Java SE 21. Note: Recompile with -Xlint:preview for details. Hello JBang! Hello Kouki Miura public class Name { public String getName() { return "Kouki Miura"; } } Name.java jbang実行結果 JBangの特徴① 複数ファイル
  4. ・JBANGでQuarkusをインストール >> /home/(ユーザー名)/.jbang/bin/quarkus ・JBANG実行bashスクリプト(https://sh.jbang.dev) ・JBANGがインストールされていなければjbang.tar取得・展開 ・JDKがインストールされていなければJDK(latest)を取得 ・JavaでJBANGを実行する ・JBANGの処理 ①trustコマンド Manage which

    domains you trust to run scripts from. ②appコマンド Manage scripts installed on the user's PATH as commands. https://ja.quarkus.io/get-started/ curl -Ls https://sh.jbang.dev | bash -s - trust add https://repo1.maven.org/maven2/io/quarkus/quarkus-cli/ curl -Ls https://sh.jbang.dev | bash -s - app install --fresh --force quarkus@quarkusio JBangの使用例(Quarkus)