2012-08-15 90 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

相关问题