首页 > 解决方案 > 添加 maven-antrun-plugin 所需的自定义类

问题描述

我有一个 Ant 任务,它在 Maven 中使用maven-antrun-plugin. 这个任务使用一个XmlTask从 XML 文件中读取一些值。该任务因类加载错误而失败,因为此任务的定义位于单独的 jar 中。如何将此 jar 添加到类路径中?我尝试将此 jar 添加到 Maven 和 Ant 的 lib 目录中,但仍然出现此错误。

下面是我的 pom.xml 的一部分,其中错误是:

<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
    <execution>
        <id>versionConsistency</id>
        <phase>package</phase>
        <goals>
            <goal>run</goal>
        </goals>
        <configuration>
            <target>
                <taskdef name="xmltask" classname="com.oopsconsultancy.xmltask.ant.XmlTask"/>
                <xmltask source="Upgrade.xml">
                    <copy path="component/versions/version/@number" property="fVer" />
                </xmltask>
                <property name="pVer" value = "${project.version}" />
                <script language="javascript">
                    <![CDATA[
                    fVer = project.getProperty('fVer');
                    pVer = project.getProperty('pVer');
                    if( fVer == pVer){
                        project.setProperty('isVerConsistent','true');
                    }else if (pVer.substring(0, pVer.search("-")) == fVer){
                        project.setProperty('isVerConsistent','true');
                    }else{
                        project.setProperty('isVerConsistent','false');
                        var fail = project.createTask("fail");
                        fail.setMessage("Project version and version in Upgrade.xml do not match");
                        fail.perform();

                    }
                ]]>
                </script>
            </target>
        </configuration>
    </execution>
</executions>

标签: mavenantmaven-antrun-plugin

解决方案


推荐阅读