6

Ant ビルド ファイルを gradle に移行していますが、次の問題に遭遇しました。

Ant ビルドは、dost.jar と resolver.jar を含むフォルダーを指す -lib を指定して、2 番目のビルド ファイルを起動します (コードは以下に提供されています)。

<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>

ランチャーからタスクを起動するのをやめて、2 番目のタスクを実行するだけにしたいので、次のタスクを作成しました。

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")
        }
    }
}

次のエラーで失敗するのはどれですか

[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)

クラスパスにあるのに、どういうわけかリゾルバーが見つからないようです。

2 番目の Ant タスクを個別に起動すると、同じ問題が発生することに注意してください。

4

0 に答える 0