如何使Web应用程序构建独立于ant版本

时间:2012-08-15 15:36:53

标签: java xml linux ant

我使用Netbeans 7.0开发了一个Web应用程序。构建(生成war文件)在netbeans中工作,但如果我使用ant在另一台服务器(linux)上构建项目,我会得到以下内容:

[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版本?

提前致谢。

2 个答案:

答案 0 :(得分:3)

嵌套antversion任务仅允许1.7以后,因此您无法使用完整功能实现此功能。这是你可以做的解决方法虽然这些不是问题的解决方案

  1. 在build-impl.xml中注释掉ANT检查。然后运行旧版本的ANT(比如1.6.5)。这将停止antversion检查并且构建将继续进行,但是如果没有看到build.xml,则无法评论它可能失败的位置。
  2. 在构建应该运行的任何地方安装较新版本的ANT。

答案 1 :(得分:1)

您可以检查ant到存储库并在操作系统中使用它而不是默认值。但要运行ant,你需要java。您可以将JRE签入您的存储库,但在这种情况下,您的存储库将非常大。