comscom@Wiki
javaのmainメソッドを引数を渡して実行したいの
最終更新:
dotcom
-
view
main(String[] args)のargsを指定する方法です。
引数を指定してmainメソッドを動かしたい
実は私、mainメソッドの実行まではできたけれど、引数が渡せずにストップしていました。
ググっても何しても見つけられなかったからです。。。
ググっても何しても見つけられなかったからです。。。
でもさっくり解決できました。
何が問題だったかというと、execプラグインのバージョンが1.0.2だったこと。
バージョン1.1を使ったら、動きました。
何が問題だったかというと、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𤎈
1.1のベータ版なら動くと書いてあった英語サイトさんがあったので、もしやと思って探したら1.1があったのです。ふふふ。
参考: http://p2p.wrox.com/topic.asp?whichpage=1&TOPIC_ID=69285𤎈
というわけで引数を指定して実行に挑戦してみたいと思います。
引数の指定方法
これです。
-Dexec.args="1 12"
つまりこんな使い方です。
mvn exec:java -Dexec.mainClass=jp.co.dotcom.App -Dexec.args="1 12"
パッケージjp.co.dotcomの
Appクラスを指定
引数は"1"と"12"でよろしく!
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に書く場合はどうするのかしら?
作成中。。。