How do I fix 'Unexpected element “{}target” {a

2019-03-15 02:43发布

问题:

When I run my Ant build it fails with the following exception:

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

I'm using Eclipse 3.4.2.

Please let me know what I'm missing here.

回答1:

I can reproduce this problem by putting a target outside the project element that is required in ant build files. The error indicates that there is a fault in your build file - something (a target element) in the wrong place.

This build throws that error:

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

Whereas this does not:

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

In the full error message you should get a line number to guide you to the point in the file needing attention:

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


回答2:

Surprinsingly, the apache foundation doesn't clearly express the namespace in which ant scripts are to be written. Yet it's an important XML concept...

However, the error message you get shows this namespace URI: antlib:org.apache.tools.ant

Although most of the time you don't need to bound the default namespace, this may help in your case:

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


标签: java ant