鍍金池/ 教程/ 物聯(lián)網(wǎng)/ 屬性文件
生成 WAR 文件
JUnit 集成
環(huán)境搭建
Eclipse 集成
部署應(yīng)用
屬性任務(wù)
擴(kuò)展 Ant
?# 執(zhí)行 Java 代碼
構(gòu)建項(xiàng)目
構(gòu)建文件
數(shù)據(jù)類型
生成 JAR 文件
生成文檔
屬性文件
封裝應(yīng)用
介紹

屬性文件

當(dāng)你只需要對(duì)小部分屬性進(jìn)行設(shè)置時(shí),可以選擇直接在構(gòu)建文件中設(shè)置。然而,對(duì)于大項(xiàng)目,最好將設(shè)置屬性的信息存儲(chǔ)在一個(gè)獨(dú)立的文件中。

存儲(chǔ)屬性信息在一個(gè)獨(dú)立的文件中將會(huì)提供以下好處:

  • 它可以讓您重復(fù)使用相同的構(gòu)建文件,該文件在不同的執(zhí)行環(huán)境中使用不同的屬性設(shè)置。例如,構(gòu)建屬性文件在 DEV , TEST , 和 PROD 環(huán)境中可以獨(dú)立地被維護(hù)。
  • 當(dāng)你事先不知道屬性的值時(shí)(例如,在一個(gè)實(shí)際的環(huán)境中),這樣處理是有益的。這樣允許你在知道屬性值后,在其他環(huán)境中執(zhí)行生成 (build) 操作。

這里沒有硬性規(guī)定,但是一般情況下,屬性文件都被命名為 build.properties, 并且與 build.xml 存放在同一目錄層。 你可以基于部署環(huán)境 ——比如: build.properties.devbuild.properties.test 創(chuàng)建多個(gè) build.properties 文件。

在下面的例子中展示了 build.xml 文件和與之相聯(lián)系的 build.properties文件:

build.xml

<?xml version="1.0"?>
<project name="Hello World Project" default="info">

   <property file="build.properties"/>

   <target name="info">
      <echo>Apache Ant version is ${ant.version} - You are at ${sitename} </echo>
   </target>

</project>

build.properties

# The Site Name
sitename=wiki.jikexueyuan.com
buildversion=3.3.2

注意到上面的練習(xí)中,sitename 是一個(gè)自定義屬性,執(zhí)行后映射到一個(gè)地址為 “wiki.jikexueyuan.com” 的網(wǎng)站上。你可以用這種方式聲明任意數(shù)量的屬性。在上面的例子中,還有一個(gè)自定義屬性 buildversioin,它表明了當(dāng)前構(gòu)建的版本號(hào)。

除了以上提到的兩個(gè)屬性, Ant 還提供了其他內(nèi)置屬性,在前一章節(jié)中已經(jīng)提到,但是下面我們?cè)僖淮谓o出相關(guān)屬性。

屬性 描述
ant.file 表示 buildfile 的絕對(duì)路徑。
ant.version 表示 Ant 的版本。
basedir 表示 project 基目錄的絕對(duì)路徑。
ant.jave.version 表示 Ant 檢測(cè)到的 JDK 的版本。
ant.project.name 表示當(dāng)前指定的 project 的名字。
ant.project.default-target 表示當(dāng)前項(xiàng)目的默認(rèn)目標(biāo)。
ant.project.invoked-targets 表示被當(dāng)前項(xiàng)目調(diào)用的一系列用逗號(hào)分隔開的目標(biāo)。
ant.core.lib 表示 Ant jar 文件的絕對(duì)路徑。
ant.home 表示 Ant 安裝的根目錄。
ant.library.dir 表示 Ant 函數(shù)庫,一般情況下為 ANT_HOME/lib 文件的根目錄。

在這一章節(jié)的例子中,我們用到的 Ant 內(nèi)置屬性是 ant.version 屬性。

上一篇:構(gòu)建項(xiàng)目下一篇:介紹