0

渡されたパラメーターを出力するための非常に単純な 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);
        }

    }
4

1 に答える 1

2

-version、Java ランチャーがそのバージョン情報を出力して終了するようにします。コマンド ラインの残りの部分は無視されます。

Windows ではここ、Unixではここで受け入れられるコマンド ライン オプションの説明を見つけることができます。

于 2013-11-06T22:47:51.567 に答える