渡されたパラメーターを出力するための非常に単純な main メソッドがあります。 「 this」と「that」を渡して「ant run」でプログラムを実行すると、プリントアウトは次のようになります。
run:
[java] Hello updatetool.
[java] Started with these parameters:
[java] 1. backup location, absolute path:this
[java] 2. new install location, absolute path:that
BUILD SUCCESSFUL
次に、次のように「-version」jvm パラメーターを追加します。
<target name="run" depends="echo"
description="Run application from development environment">
<java classname="${program.main}"
classpathref="compile.classpath"
fork="true">
<jvmarg value="-Xmx${MAX_MEMORY}m"/>
<jvmarg value="-Xms${MIN_MEMORY}m"/>
<jvmarg value="-XX:NewSize=${YOUNG_MEMORY}m"/>
<jvmarg value="-version"/> <<<<<<<<<<<<<<***************+++++++++
<arg value="this"/>
<arg value="that"/>
</java>
</target>
しかし、プログラムの出力は次のように変更されました。
run:
[java] java version "1.7.0_06"
[java] Java(TM) SE Runtime Environment (build 1.7.0_06-b24)
[java] Java HotSpot(TM) 64-Bit Server VM (build 23.2-b09, mixed mode)
BUILD SUCCESSFUL
「これ」と「あれ」の出力はありません。私のJavaファイルには他に変更はありません。
なんで?
Linuxマシンで実行しています。
これが私の主な方法です:
public static void main(String[] args)
{
// TODO Auto-generated method stub
System.out.println("Hello updatetool.");
int numOfParameters = 2;
if(args == null || args.length < numOfParameters)
{
System.out.println("Not enough parameters. Usage of this tool:"
+ "\t\n1. backup location, absolute path;"
+ "\t\n2. new install location, absolute path;"
);
System.exit(1);
}
else
{
System.out.println("Started with these parameters:"
+ "\t\n1. backup location, absolute path:" + args[0]
+ "\t\n2. new install location, absolute path:" + args[1]
);
System.exit(0);
}
}