Exec Maven Pluginでコマンドラインパラメータを指定する。

Mavenを使ったJavaプロジェクトで、コマンドラインツールを作っています。
作ろうとしているツールは、gitやmvnのように、コマンドラインパラメータを受けて、処理を色々と振り分けられるような形にしたいと思っています。

コマンドラインパラメータを受ける

実際に使うときはこんな感じです。

cli subcommand --opt=arg

Javaで書くので、実際には、jarを実行するような形です。

java -jar cli.jar subcommand --opt=arg

こうすると、mainメソッドのargsに、コマンドラインパラメータが渡ります。

public static void main(String[] args) {
	System.exit(0);
}

Exec Maven Pluginで実行する

実際に開発しているときは、いちいちjarに固めてから実行するのは面倒なので、Exec Maven Pluginを使うと少し楽です。

Exec Maven Plugin
次のように、exec:javaゴールを指定することで、ビルドしてから実行してくれます。

mvn exec:java

pom.xmlの設定はこんな感じになります。


	org.codehaus.mojo
	exec-maven-plugin
	1.2.1
	
		
			
				java
			
		
	
	
		in.katty.cli.Command
	

Exec Maven Pluginでコマンドラインパラメータを指定する

本題のコマンドラインパラメータの指定です。

java -jar cli.jar subcommand --opt=arg

これを、Exec Maven Pluginで実行するときは、次のようにパラメータを指定します。

mvn exec:java -Dexec.args="subcommand --opt=arg"

さらに詳しい使い方は公式サイトのUsageを見てください。

コメント

タイトルとURLをコピーしました