私のスクリプトには、ユーザーのJavaバージョンをファイル形式で記録するターゲットがあります。しかし何らかの理由で、 "java -version"コマンドへの出力を記録することはできません。"java -version"をantを使ってファイルに書き込む
ターミナルでjava -version > java.txt
を実行しようとしましたが、どちらも動作しませんので、java -versionの結果をキャプチャできません。
私のスクリプトには、ユーザーのJavaバージョンをファイル形式で記録するターゲットがあります。しかし何らかの理由で、 "java -version"コマンドへの出力を記録することはできません。"java -version"をantを使ってファイルに書き込む
ターミナルでjava -version > java.txt
を実行しようとしましたが、どちらも動作しませんので、java -versionの結果をキャプチャできません。
あなたのAntのbuild.xml
に次exec
タスクを使用することができます。
<exec executable="java">
<arg value="-version"/>
<redirector output="java-version.txt" alwayslog="true"/>
</exec>
ありがとう!私はリモートマシンをロギングしているのでsshexecを使用していますが、そのタスクはリダイレクタを持たないようにエラーストリームをキャプチャしました。しかし、あなたの方法は一般的なケースではうまくいくはずです。 – tom
単にAnt Manualは/内蔵プロパティ、f.e.参照、Antの組み込みプロパティを使用します:
<echoproperties prefix="java"/>
すべてのJavaプロパティが出力されます。
3つのバージョン関連のプロパティがあります。
だから、単に適切なプロパティを取ります:
<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
「java -version&> version.txt」を試してください。 –
@Carlありがとう、私は出力がエラーストリームにあることを知ったので、代わりにantを介してキャプチャしました。 – tom