1

我的main-build.xml看起来像:

<path id="run.classpath">
        <pathelement location="${build.lib.dir}/ant-{version}.jar"/>
        <pathelement location="${third-party.lib.dir}/some-{my-ver}.jar"/>
</path>

deploy.xml在第三方 jar 中存在的类之一上使用 taskdef ant 任务:

<taskdef name="run-third-party-exec" classname="package.name.ThirdPartyExec"/>

sub-build.xml导入main-build.xml &deploy.xml并尝试运行 deploy.xml 中存在的 ant 目标,但无法抱怨

taskdef package.name.ThirdPartyExec cannot be found

如何解决这样的问题。由于在执行目标之前导入文件时会执行所有任务定义和导入,因此它失败了。不确定将所有抱怨的第三方 jar 添加到 ant 的类路径是否正确?

4

1 回答 1

1

<taskdef>需要知道在哪里可以找到package.name.ThirdPartyExec。通过提供类路径来做到这一点:

<taskdef 
    name="run-third-party-exec" 
    classname="package.name.ThirdPartyExec" 
    classpathref="run.classpath" 
/>
于 2013-11-11T15:07:08.983 回答