我正在将一个 ant 构建文件迁移到 gradle 并遇到了以下问题。
ant 构建启动第二个构建文件,指定 -lib 指向包含 dost.jar 和 resolver.jar 的文件夹(代码在下面提供)
<java classname="org.apache.tools.ant.launch.Launcher" fork="true" failonerror="true">
<jvmarg value="-Xmx256M" />
<classpath>
<pathelement location="${ant.home}/lib/ant-launcher.jar" />
</classpath>
<jvmarg value="-Dant.library.dir=${ant.home}/lib" />
<arg value="-Djava.awt.headless=true" />
<arg value="-buildfile" />
<arg file="build-manual.xml" />
<arg value="-lib" />
<arg file="${resource.dir}/lib" />
</java>
已启动的构建文件正在执行的任务使用 xmlcatalog 来运行 XSLT 任务
<xslt classpath="${saxon.jar}"
style="${src.dir}/resources/dita-to-changes.txt.xsl"
in="${basedir}/manual/dita/topic/something.dita"
out="${dist.dir}/something.txt">
<xmlcatalog>
<catalogpath>
<path location="${lib.dir}/dita/catalog-dita.xml" />
</catalogpath>
</xmlcatalog>
</xslt>
我试图放弃从启动器启动任务,只运行第二个任务,因此我创建了以下任务
ant.xslt(
classpath : "$projectDir/lib/misc/saxon9.jar:$projectDir/lib/misc/saxon9-dom.jar:
$projectDir/lib/misc/saxon9-ant.jar:$resource.dir/lib/resolver.jar",
basedir : "manual/dita", style : "$ditaLib/custom/dita2html.xsl", destdir : "$manualBuild") {
param(name: "versionname", expression : versionName)
xmlcatalog {
catalogpath {
path(location: "$ditaLib/catalog-dita.xml")
}
}
}
哪个falis出现以下错误
[ant:xslt] Loading stylesheet .....\lib\dita\custom\dita2html.xsl
Warning: XML resolver not found; external catalogs will be ignored
[ant:xslt] : Fatal Error! java.io.FileNotFoundException: ...\concept\concept.dtd (The system cannot find the file specified) Cause: java.io.FileNotFoundException: ...\concept\concept.dtd (The system cannot find the file specified)
似乎以某种方式找不到解析器,即使它位于类路径中。
请不要在我独立启动第二个蚂蚁任务时出现同样的问题