原因:找不到类org.apache.tools.ant.taskdefs.optional.XMLValidateTask

时间:2018-09-11 00:21:21

标签: java ant

我遇到了与Ant有关的问题。我在build.xml中使用xmlvalidate标记。

        <xmlvalidate file="${basedir}/**/@{filename}" failonerror="true">
            <attribute name="http://xml.org/sax/features/validation" value="true" />
            <attribute name="http://apache.org/xml/features/validation/schema" value="true" />
            <attribute name="http://xml.org/sax/features/namespaces" value="true" />
        </xmlvalidate>

我遇到以下错误

Problem: failed to create task or type xmlvalidate
[ERROR] Cause: the class org.apache.tools.ant.taskdefs.optional.XMLValidateTask was not found.
[ERROR] This looks like one of Ant's optional components.
[ERROR] Action: Check that the appropriate optional JAR exists in
[ERROR] -ANT_HOME\lib

我对此进行了很多探索,并尝试了一些建议:    1)我搜索了包含org.apache.tools.ant.taskdefs.optional.XMLValidateTask的jar文件(添加了ant-optional-1.5.1.jar),并将其添加到ANT_HOME \ lib文件夹中,如错误。 2)现在我正在使用ant 1.9.7,并将其更新为1.10.5。

使用任何一个选项我都没有成功。

从错误中我所知道的是缺少一个jar。

请帮助解决此问题。谢谢您的宝贵时间...

1 个答案:

答案 0 :(得分:0)

您必须将ant可选jar添加到类路径并引用该类路径。

<property name='lib.dir' value='lib' />

<path id='classpath'>
    <fileset dir="${lib.dir}" includes="**/*.jar" />
</path>