[Java] 60 Maven関連コマンド

[Java SE 13、maven.compiler : 1.7]

Maven関連コマンドをまとめました。

EclipseやVScode拡張機能で行き詰まったら、コマンドでのMavenプロジェクト作成をお勧めします。

1. 空のMavenプロジェクトを作成する。

# Mavenプロジェクトを作成するディレクトリに移る
cd /projects

# 空のMavenプロジェクトを作成する(対話モードではなく一括モード(BatchMode))
mvn archetype:generate -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false -DgroupId=[グループID(例 com.example)] -DartifactId=[プロジェクト名(例 test)]

2. プロジェクト完成後、依存関係にあるライブラリを含むjar実行ファイルを作成する。

# Mavenプロジェクトのディレクトリに移る
cd /projects/test

# jar実行ファイルを作成する
mvn assembly:assembly -DdescriptorId=jar-with-dependencies

3. Mainクラスとクラスパスの情報をjarのMANIFEST.MFに追加する。

# ターゲットディレクトリに移る
cd /projects/test/target

# Mainクラスとクラスパスの情報をjarのMANIFEST.MFに追加する
jar uvfm test-1.0-SNAPSHOT-jar-with-dependencies.jar manifest.txt

# オプションuvfmの意味
u:アップデート,v:詳細な標準出力生成,f:jarファイル名指定,m:manifestファイル名指定

# manifest.txtの内容
Main-Class: com.example.Main
Class-Path: com.example

4. 完成したjar実行ファイルをダブルクリックして起動し、動作確認します

ダブルクリックと同義のコマンドは以下の通りです(今回のプロジェクトの場合)。

javaの後にVScodeのlaunch.jsonで設定した引数、-cpオプション、そしてMainクラスを含むjarファイル名とMainクラスを入力します。

java --module-path /javafx-sdk-11.0.2/lib --add-modules javafx.controls,javafx.fxml -verbose:class -Dfile.encoding=UTF-8 -cp test-1.0-SNAPSHOT-jar-with-dependencies.jar com.example.Main

ネット情報等では”java -jar jar実行ファイル名”で起動できるとありますが、あくまでHello worldのような単純なプロジェクトの場合であって、それなりに手を入れたプロジェクトでは上のような長いコマンドになります。