Ant𞓜Ant属性使用

20405 ワード

Ant構築ファイルに属性が必要な場合は、${ }を直接使用して属性の値を直接使用することができます.
一.Ant事前定義属性
Antは属性要素を使って属性を具体的に説明することができます.これにより、これらの属性は異なる構築と異なる環境で変化することができる.デフォルトでは、Antは以下の予め定義された属性を提供します.これらの属性はビルドファイルで使用できます.
属性
説明
ant.file
このビルディングファイルの完全なアドレス
ant.version
インストールされたApache Antのバージョン
basedir
ファイルのベースディレクトリを構築するための絶対パスは、***プロジェクトの要素としての***basedir*属性です.
ANt.java.version
Antが使用するJAVA言語のソフトウェア開発キットのバージョン
ant.project.name
プロジェクトの名前、具体的な声明は***プロジェクトの**要素の******属性です.
ant.project.default-target
現在のプロジェクトのデフォルトのターゲット
ant.project.invoked-tagets
現在のアイテムで呼び出されたターゲットのカンマ区切りリスト
ant.co re.lib
Antのjarファイルの完全な住所
ant.home
Antインストールのホームディレクトリ
ant.library.dir
Antライブラリファイルのメインディレクトリ、特にANT_ホーム/libフォルダ
二.Javaに既に存在しているシステム属性を使用する
Antでは、上記の事前定義属性を直接使用しても良いし、Javaサポートの属性を直接使用してもいいです.例えば、以下のシステム属性(通常のJavaシステムの属性と同じです.)
java.home                    :Java    
java.io.tmpdir               :         
java.compiler                :     JIT      
java.ext.dirs                :            
os.name                      :       
os.arch                      :       
os.version                   :       
file.separator               :     
path.separator               :     
line.separator               :    
user.name                    :       
user.home                    :      
user.dir                     :         
...


   <project name="Hello World Project" default="target2" basedir=".">

   <target name="target1" >
      <echo>Hello World - Welcome to Apache Ant!echo>
   target>

   <target name="target2" depends="target1">
      <echo>${ant.file}echo>
	  <echo>${ant.version}echo>
	  <echo>${basedir}echo>
	  <echo>${ant.java.version}echo>
	  <echo>${ant.project.name}echo>
	  <echo>${ant.project.default-target}echo>
	  <echo>${ant.project.invoked-targets}echo>
	  <echo>${ant.core.lib}echo>
	  <echo>${ant.home}echo>
	  <echo>${ant.library.dir}echo>

	  <echo>${java.class.version}echo>
	  <echo>${java.home}echo>
   target>


project>
実行結果は以下の通りです
C:\Users\User\Desktop\ant>ant
Buildfile: C:\Users\User\Desktop\ant\build.xml

target1:
     [echo] Hello World - Welcome to Apache Ant!

target2:
     [echo] C:\Users\User\Desktop\ant\build.xml
     [echo] Apache Ant(TM) version 1.9.14 compiled on March 12 2019
     [echo] C:\Users\User\Desktop\ant
     [echo] 1.8
     [echo] Hello World Project
     [echo] target2
     [echo] target2
     [echo] D:\ProgramFiles\apache-ant-1.9.14\lib\ant.jar
     [echo] D:\ProgramFiles\apache-ant-1.9.14
     [echo] D:\ProgramFiles\apache-ant-1.9.14\lib
     [echo] 52.0
     [echo] D:\Java\jdk1.8.0_201\jre

BUILD SUCCESSFUL
Total time: 0 seconds
三.カスタム属性を使う
上記以外にも、ユーザは、いくつかの追加的な属性を定義するために、property要素を使用することができる.
1.構築ファイルにおいて直接的に属性を宣言する、例えば属性名を定義するwebsite、値はwww.yveshe.comの属性であり、その後、target 1においてそれを使用する.


   <project name="Hello World Project" default="target2" basedir=".">
   <property name="website" value="www.yveshe.com"/>

   <target name="target1" >
      <echo>Hello World - Welcome to Apache Ant!  My Website is ${website}echo>
   target>

   <target name="target2" depends="target1">
      <echo>${ant.file}echo>
	  <echo>${ant.version}echo>
	  <echo>${basedir}echo>
	  <echo>${ant.java.version}echo>
	  <echo>${ant.project.name}echo>
	  <echo>${ant.project.default-target}echo>
	  <echo>${ant.project.invoked-targets}echo>
	  <echo>${ant.core.lib}echo>
	  <echo>${ant.home}echo>
	  <echo>${ant.library.dir}echo>

	  <echo>${java.class.version}echo>
	  <echo>${java.home}echo>
   target>

project>
運転結果は以下の通りです
C:\Users\User\Desktop\ant> ant target1
Buildfile: C:\Users\User\Desktop\ant\build.xml

target1:
     [echo] Hello World - Welcome to Apache Ant!  My Website is www.yveshe.com

BUILD SUCCESSFUL
Total time: 0 seconds
2.外部の属性プロファイルを使用して、小部分の属性のみを設定する必要がある場合は、直接構築ファイルに設定することができます.ただし、大項目の場合は、設定属性の情報を独立したファイルに保存するのが望ましい.
保存属性情報は、別のファイルで同じ構築ファイルを繰り返し使用することができます.このファイルは異なる実行環境で異なる属性設定を使用します.例えば、構築属性ファイルは、DEV、TEST、PROD環境において独立して維持されてもよい.属性の値を事前に知らない場合(例えば、実際の環境で)は、このような処理が有益である.属性値を知ると、他の環境で生成動作を実行できます.ここではハード規定はありませんが、一般的には属性ファイルはbuild.propertiesと呼ばれ、build.xmlと同じディレクトリ層に保存されます.配置環境に基づいてもいいです.例えば、build.properties.devとbuild.properties.testは複数のbuild.propertiesファイルを作成します.本質はpropertiesファイルです.以下の例では、build.xmlファイルとそれに関連するbuild.properties.devファイルを示しています.
username=yveshe
version=1.0.0
ビルドスクリプトは以下の通りです


   <project name="Hello World Project" default="target2" basedir=".">
   <property file="build.properties.dev" />
   <property name="website" value="www.yveshe.com"/>

   <target name="target1" >
      <echo>Hello World - Welcome to Apache Ant!  My Website is ${website}echo>
	  <echo>My name is ${username}echo>
   target>


project>
テストの結果は以下の通りです
C:\Users\User\Desktop\ant> ant target1
Buildfile: C:\Users\User\Desktop\ant\build.xml

target1:
     [echo] Hello World - Welcome to Apache Ant!  My Website is www.yveshe.com
     [echo] My name is yveshe

BUILD SUCCESSFUL
Total time: 0 seconds