我有一个非常简单的主方法来打印传入的参数。如果我通过传递"这个"和"那个"来运行带有"蚂蚁运行"的程序。打印输出将如下所示:
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:"
+ "tn1. backup location, absolute path;"
+ "tn2. new install location, absolute path;"
);
System.exit(1);
}
else
{
System.out.println("Started with these parameters:"
+ "tn1. backup location, absolute path:" + args[0]
+ "tn2. new install location, absolute path:" + args[1]
);
System.exit(0);
}
}
-version
使 Java 启动器打印出其版本信息并退出。命令行的其余部分将被忽略。
您可以在此处找到 Windows 的已接受命令行选项的说明,并在此处找到 Unix 的已接受命令行选项的说明