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

2022-09-03 05:11:21

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

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

我使用的是Eclipse 3.4.2。

请让我知道我在这里错过了什么。


答案 1

我可以通过在ant构建文件中所需的元素外部放置一个来重现此问题。该错误表示生成文件中存在错误 - 某些内容(元素)位于错误的位置。targetprojecttarget

此生成会引发该错误:

<?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

答案 2

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

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

尽管大多数情况下您不需要绑定默认命名空间,但这对您的情况可能会有所帮助:

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

推荐