2012-08-15 115 views
0

我已經使用Netbeans 7.0開發了一個Web應用程序。大廈(生成war文件)的作品在NetBeans,但如果我使用ant建設項目上的另一臺服務器(Linux版)我得到以下幾點:如何使Web應用程序獨立於Ant版本構建

[packwolf src]$ ant 
Buildfile: build.xml 

BUILD FAILED 
/home/packwolf/Application/src/build.xml:12: The following error occurred while executing this line: 
/home/packwolf/Application/src/nbproject/build-impl.xml:22: Class org.apache.tools.ant.taskdefs.condition.Not doesn't support the nested "antversion" element. 

當我檢查了build-impl.xml中,它有一個XML檢查ANT版本1.7或更高版本的塊。如何使版本獨立於ant版本?

在此先感謝。

+1

如果僅在新版本中支持某項功能,那麼您如何建議在早期版本中提供該功能? – 2012-08-15 15:40:04

+3

使用maven代替? ;) – 2012-08-15 15:42:23

+1

最近的ant版本是1.8.4。真的確定這個版本是爲螞蟻? – 2012-08-15 15:45:04

回答

1

您可以在ant中檢查倉庫並在操作系統中使用它而不是默認值。但要運行螞蟻,你需要java。您可以在JRE中檢查您的存儲庫,但在這種情況下,您的存儲庫將非常大。

+0

我認爲這不是最好的解決方案;理想情況下,可執行文件不應檢入,除非它們是專有的,並且只在一年內才能更改。 儘管如此,這仍然是一個解決方案,我不認爲在Java + Ant中檢查是如此之大以致於空間不足,而且現代版本控制工具足夠處理數百個集合 – 2012-08-16 10:31:37

+0

我同意如果需要,最好的解決方案是在構建機器上更新ant。但有時候關於在源代碼控制中保持ant的解決方案也是有用的。 – 2012-08-16 11:33:12

3

一個嵌套的antversion任務只允許1.7以上,所以沒辦法,你實際上可以使這個工作的全部功能。這是你可以做的解決方法,雖然這些不是解決問題的辦法

  1. 註釋掉build-impl.xml中的ANT檢查。然後運行一箇舊版本的ANT(比如說1.6.5)。這會阻止antversion檢查,並且構建將會進行,但是如果沒有看到build.xml,就不可能評論哪裏可能會失敗。
  2. 在構建應運行的任何位置安裝更新版本的ANT。
+0

另請參閱:https://netbeans.org/bugzilla/show_bug.cgi?id=199242 – 2016-06-03 15:53:42

相關問題