如何在我的Ant构建中修复“Unexpected element”{}目标“{antlib:org.apache.tools.ant} target”错误?

时间:2010-08-27 04:06:12

标签: java ant

当我运行我的Ant构建时,它失败并出现以下异常:

Unexpected element "{}target" {antlib:org.apache.tools.ant}target

我正在使用Eclipse 3.4.2。

请让我知道我在这里缺少的东西。

2 个答案:

答案 0 :(得分:27)

我可以通过将target置于ant构建文件中所需的project元素之外来重现此问题。该错误表示您的构建文件中存在错误 - 某个地方(target元素)位于错误的位置。

此版本会抛出该错误:

<?xml version="1.0"?>
    <target name="wibble" />
<project name="stack_overflow">
</project>

然而这不是:

<?xml version="1.0"?>
<project name="stack_overflow">
    <target name="wibble" />
</project>

在完整的错误消息中,您应该获得一个行号,以引导您到需要注意的文件中的位置:

#   line number here
#         v
build.xml:2: Unexpected element "{}target" {antlib:org.apache.tools.ant}target

答案 1 :(得分:3)

从根本上说,apache基础并没有清楚地表达要编写ant脚本的命名空间。然而,它是一个重要的XML概念......

但是,您收到的错误消息显示了此命名空间URI:antlib:org.apache.tools.ant

虽然大多数时候您不需要绑定默认命名空间,但这可能对您的情况有所帮助:

<project xmlns='antlib:org.apache.tools.ant'>
  <!-- ... -->
</project>