我繼承包含很多這樣的資源 集定義Ant構建系統:ANT:強制缺少資源時出錯?
<files id="app1.lib.jars">
<include name="${java}/jre/lib/jsse.jar"/>
<include name="${work.lib}/jtidy.jar"/>
...
</files>
<files id="app2.lib.jars">
<include name="${work.lib}/itext.jar"/>
<include name="${work.lib}/commons-httpclient.jar"/>
...
</files>
<files id="app3.lib.jars">
<include name="${work.lib}/jdom.jar"/>
<include name="${ant.lib}/ant.jar"/>
...
</files>
有可能這些十幾個,每個人都可以從 5至50個文件包含的任何地方。問題是我正在修改此係統以使用 Ivy進行依賴關係管理,並且在此過程中,一些 引用現在指向不存在的文件。不幸的是,螞蟻 沒有提供任何幫助找到這些壞指針。當使用這些資源 集合來定義類路徑時,任何<include...>
標記 都將被忽略。
我想我可以通過使用集合作爲<copy...>
的 源迫使一個錯誤,但即使failonerror="true"
它只是 忽略壞的引用。
命令行-v
(詳細)和-d
(調試)選項也沒有幫助 。輸出承認,一些人失蹤,但沒有 實際顯示他們
[echo] app1.lib.jars
[copy] C:\dev\src\tomcat6\work\java\jre\lib\jsse.jar omitted as C:\dev\src\tomcat6\work\verify\jsse.jar is up to date.
[copy] C:\dev\src\tomcat6\work\lib\axis-ant.jar omitted as C:\dev\src\tomcat6\work\verify\axis-ant.jar is up to date.
...
[copy] No sources found.
[echo] app2.lib.jars
...
對於我提取的所有文件名從Ant文件的 的資源集合一次性的解決方案相比,爲一個目錄列表 在適當的排序後,將所有文件(在Ant中)複製到臨時目錄 中。
問:有沒有辦法讓Ant在資源指向 指向缺少的文件時告訴我,最好是在定義資源時?
+1看起來很有趣。我明天會試試這個。 – 2009-11-25 03:11:46
這個解決方案並不是最優的,因爲我更喜歡使用新的資源容器(我發現很奇怪文件列表和文件集沒有被重構爲子容器的子類)。我真正想要的是一個選項,它會告訴Ant爲缺少的文件發出警告,但看起來不可用。馬丁的回答看起來像是暫時完成這一任務的最佳方式。 – 2009-11-29 02:22:03