2011-11-22 84 views
0

如何從build.xml中的環境獲取CLASSPATH?在ant build.xml中從環境獲取CLASSPATH

我已經試過

<property environment="env"/> 

<path id="classpath"> 
    <pathelement location="${env.CLASSPATH}"/> 
</path> 

<target name="compile"> 
    <javac includeantruntime="false"> 
    <src path="${src}"/> 
    <classpath refid="classpath"/> 
    </javac> 
</target> 

我有一種感覺,這是失敗,因爲$ {} env.CLASSPATH是一個冒號分隔的列表。 那麼,我可以得到我的類路徑嗎?當螞蟻沒有使用我的環境的CLASSPATH時,我感到很驚訝。

編輯:

我已經找到一個快速解決方案,但首選的方法是使用一個單獨的屬性文件喜歡這裏的例子http://www.java2s.com/Code/Java/Ant/Useseparatepropertyfile.htm

解決方案是,增加

<property name="build.sysclasspath" value="first"/> 

到build.xml的頂部

+0

爲什麼你想要它?螞蟻文件的一個要點是有一個可移植的構建環境,明確地*不依賴於環境設置。 –

+0

我想這樣做,因爲我使用的是存儲在我們網絡上不同機器上不同位置的junit版本。使用make時,我依賴於環境CLASSPATH。 – OregonTrail

+1

這種信息屬於用戶或機器特定的屬性文件。 –

回答

0

使用這個可能有幫助..

<property environment="env."/> 
<property name="env.CLASSPATH" value=""/> 
0

是的,它失敗了,因爲它是冒號分隔列表。一般來說,從外部指定類路徑並在Ant中使用它被認爲是一個壞主意。這是因爲在不同的機器上運行相同的Ant腳本可能會產生不同的結果。相反,你最好從Ant內指定類路徑。