0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

CUIからJavaを実行する

Last updated at Posted at 2020-05-25

記事作成の経緯

当方、Robert Simmons, Jr.の著作「Java™️魂」を学習しようと思ったのですが、
サンプルコードの実行がAntによるものでした。

Antの勉強をするにしてもコマンドオプションの設定など、
Javaのコマンドについての知識がないと最低限の学習も厳しいなと。
そんな感じでこの記事を書くことにしました。

第1章 Javaアプリケーションの作成に必要な作業

Javaアプリケーションを作成していると、主に以下の作業が発生します。
※今回はあくまで「Javaコマンド」について学習したいので自動テストなどは除外します

  1. コードを書く
  2. コンパイルしてクラスファイルを生成する
  3. 実行する
  4. JARファイルなどにアーカイブする
  5. javadocを生成する

以降の章では、上Javaコマンドを使用して上記の作業を実際に行い、
各コマンドについて解説していきたいと思います。

実際に手を動かすという方は、
こちらからApache Commonsのcommons-lang3-x.xx.jar
をダウンロードしておいてください。

第2章 Javaのコードを書く

当記事では、以下のサンプルを使ってJavaアプリケーションの実行を学びます。
なお、コマンドの説明用に以下の構成にしているだけなので、
ソースコードとして綺麗とは言い難いです。

サンプルコードでは、/java-sample直下に以下のようなフォルダ構成があるとします。
※ルート直下で作業すると危険なので、任意のディレクトリを切って作業した方が安全です

スクリーンショット 2020-05-25 17.00.46.png
UseCommons.java
package com.example.app;

import org.apache.commons.lang3.StringUtils;

public class UseCommons {
	// javaコマンドにUseCommonsを指定して実行した際に実行される処理
	public static void main(String[] args) {
		System.out.println(CommonsHelper.returnNgStrIfHasProbrem(null));
		System.out.println(CommonsHelper.returnNgStrIfHasProbrem(""));
		StrFactory strFactory = new StrFactory();
		System.out.println(CommonsHelper.returnNgStrIfHasProbrem(strFactory.sayHelloWorld()));
	}
	// インナークラスを定義した場合のコンパイル結果を見るためのヘルパークラス
	static class CommonsHelper {
		//CommonsのAPIを利用して、文字列が空、もしくはNullの場合に”NG"を返却する
		static String returnNgStrIfHasProbrem (String target) {
			if (StringUtils.isEmpty(target)) {
				return "NG";
			} else if (StringUtils.isBlank(target)) {
				return "NG";
			}
			return target;
		}
	}
}
StrFactory.java
package com.example.app;

public class StrFactory {
	public String sayHelloWorld() {
		return "Hello World!";
	}
}

記事がいささかボリューミーになってきたので、以降は記事をリンクにして分割しました。

第3章 ソースコードをコンパイルする : javac

第4章 コードを実行する : java

第5章 成果物をアーカイブする : jar

第6章:Javadocを生成する : javadoc

おわりに

以上、長々とJavaのコアツールについて書いてきましたが、これらの記事を読めば
最低限、Javaのコーディングから成果物の作成に関してはターミナルなどのCUIから
実行できるようになるのではないかと思います。

最後までお読みいただき、ありがとうございました。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?