IntelliJ IDEA Jarファイルを作る

出力するJARファイル

下のようにコマンドプロンプト的なモノを起動するJARファイルを出力します。

具体的には、作成したプログラムを開発ツールを使わずに実家できるようにする。ということです。

基本的には、コマンドで作成したJARファイルを下のようなコマンドで実行します。これは、どのOSでも同じです。

java -jar JARファイルの名前

WindowsでJARを起動する

Macでの操作

JARファイル作成手順

IntelliJ IDEA を開く

上部にある、「File」からProject Structureを選択

 

「Artifacts」をクリックしてAddする

「From module 〜」と記載している方を選択(キャプチャでは下の方を選択する)

出力先などを指定してやる

※下の様なダイアログが表示されます。

上部にあるメニューにある「Build」をクリック
して「Build Airtifacts」をクリック


プロジェクトが違いますが以下の様にJARファイルを出力します。

指定したディレクトリにJARファイルが出力されている

java -jar JARファイル名で実行可能

右にコマンド左の「Hello user ...」は作成した
JavaFXアプリです。

実行方法

InteliJのすごく優れているところは「ターミナル」が起動できるところだと思います。画面の下の部分に以下の様なボタンが見つかると思います。ちなみにEclipseやVScodeなどもついている機能ですね。

「Terminal」もしくは「コマンドプロンプト」と表示されていると思います。

※自分の場合はLinuxやMac端末を使用しているので「ターミナル」になります。Windowsを使用している人は「コマンドプロンプト」になるのでは?と思ったのでその様に記載いたしました。

ボタンを押下すると下の様にターミナルが起動します。

カレントディレクトリがプロジェクトルート(開いたときに「プロジェクト」のフォルダにコンソール画面がいます。→「ls(Mac, Linux)」もしくは「dir(Windows」」コマンドで今のカレントディレクトリ(現在開いているフォルダ)の中身を確認できます。

ちなみにMacやLinuxの場合は「pwd」コマンドでカレントディレクトリの場所を確認できます。下のキャプチャ参照

そして、「プロジェクト名.jar」のファイルのあるディレクトリに移動します。

「cd ./out/artifacts/RpiCtl_jar/」で移動します。

そして「java -jar RPiCtl.jar」コマンドでJavaFXアプリを起動します。

サンプルソースは、以下の様になります。

package rpictl.view;

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.stage.Stage;

import java.util.ResourceBundle;

public class RpiCtl extends Application {
     ////// フィールド変数の定義 /////////
    /** 画面の横サイズ */
    private static final int VIEW_WIDTH = 300;
    /** 画面のたてサイズ */
    private static final int VIEW_HEIGHT = 300;
    /** プロパティファイル名 */
    private static final String RPI_CTL_PROPERTY = "RpiCtl";
    /** リソースバンドル(プロパティファイルをロード(古い)(今はPropertiesクラスを使用する方が多い) */
    private static ResourceBundle bundle;

     /**
          * 2.Application#launch()メソッドから呼ばれる
     * Applicationクラスのメソッドをオーバーライド
     * @param primary 一番下肉るステージ
     */
    @Override
    public void start(Stage primary) {
        // ステージ上に載せるグループ(ペインの様なもの)
        Group root = new Group();
        root.getChildren().add(new Label("Hello World"));
        Scene scene = new Scene(root, VIEW_WIDTH, VIEW_HEIGHT);
        primary.setScene(scene);
        // フルスクリーン
        primary.setFullScreen(true);
        primary.show();

        // プロパティファイルのロード
        bundle = ResourceBundle.getBundle(RPI_CTL_PROPERTY);
        System.out.println("Properties: " + bundle.getString("test"));
    }

    /**
          * 1.メインメソッドが必ず、一番初めに動きます。
     * メインメソッド、JavaFXを起動する
     *
     * @param args プログラム引数
     */
    public static void main (String[] args) {
                // launchメソッドは「start」メソッドを呼び出します。
        launch(args);
    }
}

起動するメソッドの順番に番号をつけていますので、よかったら参考にしてください。

[rakuten ids="slotre:10000002"]



関連ページ一覧

  1. IntelliJ IDEA 環境構築 〜インストールと起動〜
  2. IntelliJ IDEA Git〜Gitリポジトリからクローン〜
  3. IntelliJ IDEA 使い方〜Git接続 Java起動 etc〜
  4. IntelliJ IDEA Jarファイルを作る
  5. IntelliJ IDEA 使い方〜Maven Projectの作成〜
  6. IntelliJ IDEA 使い方〜Mavenでライブラリを追加する〜
  7. IntelliJ IDEA 使い方〜Javaのコンパイルレベル設定〜
  8. IntelliJ IDEA Gradleセットアップ〜コマンド入力部の表示〜
  9. IntelliJ IDEA Discord Botを作る〜Gradle環境のセットアップ〜

Java Basic

  1. Java Basic Level 1 Hello Java
  2. Java Basic Level2 Arithmetic Calculate
  3. Java Basic Level3 About String class
  4. Java Basic Level 4Boolean
  5. Java Basic Level 5If Statement
  6. Java Basic Summary from Level1 to 5
  7. Java Basic Level 6 Traning of If statement
  8. Java Basic Level8 How to use for statement
  9. Java Basic Level 8.5 Array
  10. Java Basic Level 9Training of for statement
  11. Java Basic Level 10 While statement 
  12. Java Basic Swing〜オブジェクト指向〜
  13. Java Basic Swing Level 2〜オブジェクト指向2

シンプルなゲームを作る

  1. サンプル実装〜コンソールゲーム〜
  2. Java Basic インターフェース・抽象クラスの作り方
  3. Java Basic クラスとは〜Step2_1
  4. Java Basic JUnit 〜テストスイートの作り方〜

 

投稿者:

takunoji

音響、イベント会場設営業界からIT業界へ転身。現在はJava屋としてサラリーマンをやっている。自称ガテン系プログラマー(笑) Javaプログラミングを布教したい、ラスパイとJavaの相性が良いことに気が付く。 Spring framework, Struts, Seaser, Hibernate, Playframework, JavaEE6, JavaEE7などの現場経験あり。 SQL, VBA, PL/SQL, コマンドプロント, Shellなどもやります。

コメントを残す