我想在脚本中有一个目标,该目标以文件格式记录用户的Java版本。但是由于某种原因,无法记录命令" Java -version"的输出。
我尝试在终端运行java -version > java.txt
,这两个都无法使用,所以我猜无法捕获Java -version的结果?
您可以在ANT build.xml
中使用以下exec
任务:
<exec executable="java">
<arg value="-version"/>
<redirector output="java-version.txt" alwayslog="true"/>
</exec>
只需使用ant内置属性,请参见ant手册/内置属性,F.E。:
<echoproperties prefix="java"/>
将打印所有Java属性。
有3个与版本相关的属性:
- java.version
- java.vm.specification.version
- java.vm.version
因此,请简单地采用适当的属性:
<project>
<echo>
${java.version}
${java.vm.specification.version}
${java.vm.version}
</echo>
<!-- assuming you want ${java.version} -->
<echo file="foobar.txt">Java Version = ${java.version}</echo>
</project>
输出:
[echo] 1.7.0_72
[echo] 1.7
[echo] 24.72-b04