2011-06-28 78 views
5

我已經創建了一個java庫項目。二進制文件可在<project-dir>/bin。測試課程可在<project-dir>/bin/com/myproject/test獲得。我需要排除我的測試類的歸檔。所以,我寫了下面的代碼:排除在Ant中存檔的測試類目錄

<target depends="build-all" name="build-dist"> 
    <jar destfile="app.jar" basedir="bin" excludes="com/myproject/test/*.class" /> 
</target> 

這工作正常。但在檔案目錄test仍然可用。如何刪除這個?

謝謝。

回答

5

最好的解決方案是將測試Java和類文件保存在不同的目錄中。因此,不要將它們編譯成bin,而要將它們在第二步中編譯爲bin-test。這也確保非測試代碼無法看到測試類(如果意外地在生產類中導入測試,編譯將失敗)。

5
<jar destfile="app.jar" basedir="bin" excludes="com/myproject/test/" /> 
+2

尾隨**是不需要的。參見:http://ant.apache.org/manual/dirtasks.html#patterns'有一個「簡寫」:如果一個模式以/或\結尾,那麼**被追加。 –

+0

好的提示;我不知道。我更新了答案,謝謝。 –