※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

main(String[] args)のargsを指定する方法です。



引数を指定してmainメソッドを動かしたい

実は私、mainメソッドの実行まではできたけれど、引数が渡せずにストップしていました。
ググっても何しても見つけられなかったからです。。。

でもさっくり解決できました。
何が問題だったかというと、execプラグインのバージョンが1.0.2だったこと。
バージョン1.1を使ったら、動きました。

1.1は2008年4月に出てるバージョンです。
1.1のベータ版なら動くと書いてあった英語サイトさんがあったので、もしやと思って探したら1.1があったのです。ふふふ。
参考: http://p2p.wrox.com/topic.asp?whichpage=1&TOPIC_ID=69285&#148360

というわけで引数を指定して実行に挑戦してみたいと思います。


引数の指定方法

これです。
-Dexec.args="1 12"

つまりこんな使い方です。
mvn exec:java -Dexec.mainClass=jp.co.dotcom.App -Dexec.args="1 12"

パッケージjp.co.dotcomの
Appクラスを指定
引数は"1"と"12"でよろしく!

って感じ。

実際に使ってみるためにはApp.javaを以下のように変えておいたほうが分かりやすいかしら。


App.javaを編集する(分かりやすくするため!)

package jp.co.dotcom;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
        if(args.length != 0){            
            System.out.println( "指定した引数1つ目は" + args[0] );
        }else{
            System.out.println( "引数を指定してないわね!?" );
        }
    }
}

引数を表示するように変えてみました。
これをコンパイルしてから実行してみます。


実行結果

引数は「1」だけにしてみました。
Z:\maventest>mvn exec:java -Dexec.mainClass=jp.co.dotcom.App -Dexec.args="1"
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'exec'.
[INFO] artifact org.codehaus.mojo:exec-maven-plugin: checking for updates from central
[INFO] ----------------------------------------------------------------------------
[INFO] Building maventest
[INFO] task-segment: [exec:java]
[INFO] ----------------------------------------------------------------------------
[INFO] Preparing exec:java
[INFO] No goals needed for project - skipping
[INFO] [exec:java]
Hello World!
指定した引数1つ目は1
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 23 seconds
[INFO] Finished at: Wed May 21 17:12:28 JST 2008
[INFO] Final Memory: 2M/5M
[INFO] ------------------------------------------------------------------------

Z:\maventest>

成功!!!
指定した引数1つ目は1
その通り!


pom.xmlに書く場合はどうするのかしら?

作成中。。。