2016-06-22 7 views
2

私のスクリプトには、ユーザーのJavaバージョンをファイル形式で記録するターゲットがあります。しかし何らかの理由で、 "java -version"コマンドへの出力を記録することはできません。"java -version"をantを使ってファイルに書き込む

ターミナルでjava -version > java.txtを実行しようとしましたが、どちらも動作しませんので、java -versionの結果をキャプチャできません。

+0

「java -version&> version.txt」を試してください。 –

+0

@Carlありがとう、私は出力がエラーストリームにあることを知ったので、代わりにantを介してキャプチャしました。 – tom

答えて

3

あなたのAntのbuild.xmlに次execタスクを使用することができます。

<exec executable="java"> 
    <arg value="-version"/> 
    <redirector output="java-version.txt" alwayslog="true"/> 
</exec> 
+0

ありがとう!私はリモートマシンをロギングしているのでsshexecを使用していますが、そのタスクはリダイレクタを持たないようにエラーストリームをキャプチャしました。しかし、あなたの方法は一般的なケースではうまくいくはずです。 – tom

1

単にAnt Manualは/内蔵プロパティ、f.e.参照、Antの組み込みプロパティを使用します:

<echoproperties prefix="java"/> 

すべてのJavaプロパティが出力されます。
3つのバージョン関連のプロパティがあります。

  1. のjava.version
  2. java.vm.specification.version
  3. 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 
関連する問題