1

DITA 出力目標

ANT スクリプトを使用してカスタム CSS スタイルシートを DITA トピック モデルに追加したいと考えています (次のコードを参照)。

ANT スクリプト コード

私のANTスクリプト:

<?xml version="1.0" encoding="UTF-8" ?>
<!-- ==================
  Web Output Custom CSS 
  ==================-->
<project name="grid_web_css"default="grids.grid_web_css" basedir=".">

    <property name="dita.dir" location="${basedir}${file.separator}..${file.separator}..${file.separator}.."/>
    <property name="css.output.dir" value="${dita.dir}${file.separator}projects${file.separator}css-projects${file.separator}ant-scripts${file.separator}out${file.separator}ex-ant-understanding-css"/>
    <property name="the.input.dir" value="${dita.dir}${file.separator}projects${file.separator}css-projects"/>
    <property name="css.source.dir" location="${dita.dir}${file.separator}projects${file.separator}css-projects${file.separator}shared-assets"/>
    <target name="grids.grid_web_css" depends="clean.grids.grid_web_css">
        <ant antfile="${dita.dir}/build.xml">
            <property name="args.input" location="${dita.dir}${file.separator}projects${file.separator}css-projects${file.separator}understanding_css.ditamap"/>
            <property name="input.dir" location="${the.input.dir}"/>
            <property name="output.dir" location="${css.output.dir}"/>
            <property name="transtype" value="html5"/>
            <property name="args.cssroot" location="${css.source.dir}"/>
            <property name="args.css" value="${css.source.dir}${file.separator}web-css-grids.css"/>
            <property name="args.csspath" value="${css.output.dir}/css"/>
            <property name="args.copycss" value="yes"/>
            <property name="processor" value="saxon"/>
            <property name="classpath" value="${dita.dir}${file.separator}lib${file.separator}saxon.jar"/>
        </ant>
        <copy todir="${css.output.dir}/css">
            <fileset dir="${css.source.dir}"/>
        </copy>
    </target>
    <target name="clean.grids.grid_web_css" description="remove the sample web output">
        <delete dir="${css.output.dir}"/>
    </target>
</project>

問題

以下のターミナル出力のように、ディレクトリが作成され、build.xml ファイルが検出されて実行されます。それでも、実際にはディレクトリ内に何も生成されず、問題を切り分けることができません。

ターミナル出力

lingeringcode@Linger:~/dita-ot-2.1.1$ ant -f '/home/lingeringcode/dita-ot-2.1.1/projects/css-projects/ant-scripts/ant_grid_web_css.xml' 
Buildfile: /home/lingeringcode/dita-ot-2.1.1/projects/css-projects/ant-scripts/ant_grid_web_css.xml

clean.grids.grid_web_css:
   [delete] Deleting directory /home/lingeringcode/dita-ot-2.1.1/projects/css-projects/ant-scripts/out/ex-ant-understanding-css

grids.grid_web_css:

init:

dita2html5.init:

check-arg:
    [mkdir] Created dir: /home/lingeringcode/dita-ot-2.1.1/projects/css-projects/ant-scripts/out/ex-ant-understanding-css
    [mkdir] Created dir: /home/lingeringcode/dita-ot-2.1.1/projects/css-projects/ant-scripts/temp/temp20151020094428144

log-arg:
     [echo] *****************************************************************
     [echo] * basedir = /home/lingeringcode/dita-ot-2.1.1/projects/css-projects/ant-scripts
     [echo] * dita.dir = /home/lingeringcode/dita-ot-2.1.1
     [echo] * transtype = html5
     [echo] * tempdir = /home/lingeringcode/dita-ot-2.1.1/projects/css-projects/ant-scripts/temp/temp20151020094428144
     [echo] * outputdir = /home/lingeringcode/dita-ot-2.1.1/projects/css-projects/ant-scripts/out/ex-ant-understanding-css
     [echo] * clean.temp = true
     [echo] * DITA-OT version = 2.1.1
     [echo] * XML parser = Xerces
     [echo] * XSLT processor = Saxon
     [echo] * collator = JDL
     [echo] *****************************************************************
     [echo] #Ant properties
     [echo] #Tue Oct 20 09:44:29 CDT 2015
     [echo] args.copycss=yes
     [echo] args.css=/home/lingeringcode/dita-ot-2.1.1/projects/css-projects/shared-assets/web-css-grids.css
     [echo] args.csspath=/home/lingeringcode/dita-ot-2.1.1/projects/css-projects/ant-scripts/out/ex-ant-understanding-css/css
     [echo] args.cssroot=/home/lingeringcode/dita-ot-2.1.1/projects/css-projects/shared-assets
     [echo] args.grammar.cache=yes
     [echo] args.input=/home/lingeringcode/dita-ot-2.1.1/projects/css-projects/understanding_css.ditamap
     [echo] args.logdir=/home/lingeringcode/dita-ot-2.1.1/projects/css-projects/ant-scripts/out/ex-ant-understanding-css
     [echo] args.xml.systemid.set=yes
     [echo] dita.dir=/home/lingeringcode/dita-ot-2.1.1
     [echo] dita.plugin.com.sophos.tocjs.dir=/home/lingeringcode/dita-ot-2.1.1/plugins/com.sophos.tocjs
     [echo] dita.plugin.org.dita.base.dir=/home/lingeringcode/dita-ot-2.1.1
     [echo] dita.plugin.org.dita.docbook.dir=/home/lingeringcode/dita-ot-2.1.1/plugins/org.dita.docbook
     [echo] dita.plugin.org.dita.eclipsecontent.dir=/home/lingeringcode/dita-ot-2.1.1/plugins/org.dita.eclipsecontent
     [echo] dita.plugin.org.dita.eclipsehelp.dir=/home/lingeringcode/dita-ot-2.1.1/plugins/org.dita.eclipsehelp
     [echo] dita.plugin.org.dita.htmlhelp.dir=/home/lingeringcode/dita-ot-2.1.1/plugins/org.dita.htmlhelp
     [echo] dita.plugin.org.dita.javahelp.dir=/home/lingeringcode/dita-ot-2.1.1/plugins/org.dita.javahelp
     [echo] dita.plugin.org.dita.odt.dir=/home/lingeringcode/dita-ot-2.1.1/plugins/org.dita.odt
     [echo] dita.plugin.org.dita.pdf2.dir=/home/lingeringcode/dita-ot-2.1.1/plugins/org.dita.pdf2
     [echo] dita.plugin.org.dita.specialization.dita11.dir=/home/lingeringcode/dita-ot-2.1.1/plugins/org.dita.specialization.dita11
     [echo] dita.plugin.org.dita.specialization.eclipsemap.dir=/home/lingeringcode/dita-ot-2.1.1/plugins/org.dita.specialization.eclipsemap
     [echo] dita.plugin.org.dita.troff.dir=/home/lingeringcode/dita-ot-2.1.1/plugins/org.dita.troff
     [echo] dita.plugin.org.dita.wordrtf.dir=/home/lingeringcode/dita-ot-2.1.1/plugins/org.dita.wordrtf
     [echo] dita.plugin.org.dita.xhtml.dir=/home/lingeringcode/dita-ot-2.1.1/plugins/org.dita.xhtml
     [echo] dita.plugin.org.oasis-open.dita.v1_2.dir=/home/lingeringcode/dita-ot-2.1.1/plugins/org.oasis-open.dita.v1_2
     [echo] dita.temp.dir=/home/lingeringcode/dita-ot-2.1.1/projects/css-projects/ant-scripts/temp/temp20151020094428144
     [echo] *****************************************************************

build-init:

preprocess.init:
     [echo] *****************************************************************
     [echo] * input = /home/lingeringcode/dita-ot-2.1.1/projects/css-projects/understanding_css.ditamap
     [echo] *****************************************************************

gen-list:

BUILD FAILED
/home/lingeringcode/dita-ot-2.1.1/projects/css-projects/ant-scripts/ant_grid_web_css.xml:18: The following error occurred while executing this line:
/home/lingeringcode/dita-ot-2.1.1/build.xml:42: The following error occurred while executing this line:
/home/lingeringcode/dita-ot-2.1.1/plugins/org.dita.base/build_preprocess.xml:78: java.lang.ClassNotFoundException: org.dita.dost.module.GenMapAndTopicListModule
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:191)
    at org.apache.tools.ant.IntrospectionHelper$6.set(IntrospectionHelper.java:1095)
    at org.apache.tools.ant.IntrospectionHelper$AttributeSetter.setObject(IntrospectionHelper.java:1493)
    at org.apache.tools.ant.IntrospectionHelper.setAttribute(IntrospectionHelper.java:411)
    at org.apache.tools.ant.RuntimeConfigurable.maybeConfigure(RuntimeConfigurable.java:528)
    at org.apache.tools.ant.RuntimeConfigurable.maybeConfigure(RuntimeConfigurable.java:464)
    at org.apache.tools.ant.UnknownElement.handleChild(UnknownElement.java:592)
    at org.apache.tools.ant.UnknownElement.handleChildren(UnknownElement.java:358)
    at org.apache.tools.ant.UnknownElement.configure(UnknownElement.java:204)
    at org.apache.tools.ant.UnknownElement.maybeConfigure(UnknownElement.java:163)
    at org.apache.tools.ant.Task.perform(Task.java:347)
    at org.apache.tools.ant.Target.execute(Target.java:435)
    at org.apache.tools.ant.Target.performTasks(Target.java:456)
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
    at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
    at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
    at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:440)
    at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
    at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.Target.execute(Target.java:435)
    at org.apache.tools.ant.Target.performTasks(Target.java:456)
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
    at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
    at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
    at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:440)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.Target.execute(Target.java:435)
    at org.apache.tools.ant.Target.performTasks(Target.java:456)
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
    at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
    at org.apache.tools.ant.Main.runBuild(Main.java:851)
    at org.apache.tools.ant.Main.startAnt(Main.java:235)
    at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
    at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)

上記の出力から読み取れるように、エラー出力は「BUILD FAILED」行の後から始まります。

私のトラブルシューティングの試み

  • 同様の問題を抱えている他の人を見つけました: https://groups.yahoo.com/neo/groups/dita-users/conversations/topics/38045。それでも、Saxon 用にプロパティを追加して環境変数を設定すると、同じ出力が得られます。
  • Open Toolkit で他の ant スクリプト サンプルもテストしましたが、同じエラー メッセージが表示されました。

助けを呼びます

環境変数を正しく設定していないか、この問題の原因を想像することさえできない何かがあると思います。したがって、私はこの問題にさらに目を向ける必要があります。

したがって、Java + ant + saxon + xalan をセットアップする方法を説明してくれる人がいるかもしれません。このプロセスに関する適切なドキュメントをまだ見つけていません。さらに、これを機能させるために必要なものがすべて揃っていることを確認する方法。または、それが何か他のものかどうかを確認するのに役立ちます。

参考までに、私は DITA-OT 2.1.1 を使用しています。Github のトピック モデルへのリンクは次のとおりです: https://github.com/lingeringcode/css-projects

どんな助けでも大歓迎です!:-)

アップデート

FTR、ditaコマンドは次のように-D引数で機能します。

:~/dita-ot-2.1.1$ dita -f html5 -i 'projects/css-projects/understanding_css.ditamap' \
    -o 'projects/css-projects/ex-understanding-css' \
    -Dargs.cssroot='projects/css-projects/shared-assets' \
    -Dargs.css='${cssroot}/web-css-grids.css' \
    -Dargs.csspath='css' \
    -Dargs.copycss='はい'

dost.jar が実際に見つかったことを確認して、CLASSPATH 変数もリセットしました。Ant スクリプトを再度実行した後、次のような新しいBUILD FAILEDエラー メッセージ (イェーイ、進行状況?!)を受け取りました。

    lingeringcode@Linger:~/dita-ot-2.1.1/projects/css-projects$ ant -f '/home/lingeringcode/dita-ot-2.1.1/projects/css-projects/ant-scripts/ant_grid_web_css.xml '
ビルドファイル: /home/lingeringcode/dita-ot-2.1.1/projects/css-projects/ant-scripts/ant_grid_web_css.xml

clean.grids.grid_web_css:
   [削除] ディレクトリを削除中 /home/lingeringcode/dita-ot-2.1.1/projects/css-projects/ex-ant-understanding-css

grids.grid_web_css:

初期化:

dita2html5.init:

チェック引数:
    [mkdir] 作成されたディレクトリ: /home/lingeringcode/dita-ot-2.1.1/projects/css-projects/ex-ant-understanding-css
    [mkdir] 作成されたディレクトリ: /home/lingeringcode/dita-ot-2.1.1/projects/css-projects/ant-scripts/temp/temp20151022130204394

ログ引数:
     [エコー] *********************************************** ******************
     [エコー] * basedir = /home/lingeringcode/dita-ot-2.1.1/projects/css-projects/ant-scripts
     [エコー] * dita.dir = /home/lingeringcode/dita-ot-2.1.1
     [エコー] * トランスタイプ = html5
     [エコー] * tempdir = /home/lingeringcode/dita-ot-2.1.1/projects/css-projects/ant-scripts/temp/temp20151022130204394
     [エコー] * outputdir = /home/lingeringcode/dita-ot-2.1.1/projects/css-projects/ex-ant-understanding-css
     [エコー] * clean.temp = true
     [エコー] * DITA-OT バージョン = 2.1.1
     [エコー] * XML パーサー = Xerces
     [エコー] * XSLT プロセッサ = サクソン
     [エコー] * コレーター = JDL
     [エコー] *********************************************** ******************
     [エコー] #Ant プロパティ
     [エコー] #Thu Oct 22 13:02:05 CDT 2015
     [エコー] args.copycss=はい
     [エコー] args.css=/home/lingeringcode/dita-ot-2.1.1/projects/css-projects/shared-assets/web-css-grids.css
     [エコー] args.csspath=/home/lingeringcode/dita-ot-2.1.1/projects/css-projects/ex-ant-understanding-css/css
     [エコー] args.cssroot=/home/lingeringcode/dita-ot-2.1.1/projects/css-projects/shared-assets
     [エコー] args.grammar.cache=はい
     [エコー] args.input=/home/lingeringcode/dita-ot-2.1.1/projects/css-projects/understanding_css.ditamap
     [エコー] args.logdir=/home/lingeringcode/dita-ot-2.1.1/projects/css-projects/ex-ant-understanding-css
     [エコー] args.xml.systemid.set=はい
     [エコー] dita.dir=/home/lingeringcode/dita-ot-2.1.1
     [エコー] dita.plugin.com.sophos.tocjs.dir=/home/lingeringcode/dita-ot-2.1.1/plugins/com.sophos.tocjs
     [エコー] dita.plugin.org.dita.base.dir=/home/lingeringcode/dita-ot-2.1.1
     [エコー] dita.plugin.org.dita.docbook.dir=/home/lingeringcode/dita-ot-2.1.1/plugins/org.dita.docbook
     [エコー] dita.plugin.org.dita.eclipsecontent.dir=/home/lingeringcode/dita-ot-2.1.1/plugins/org.dita.eclipsecontent
     [エコー] dita.plugin.org.dita.eclipsehelp.dir=/home/lingeringcode/dita-ot-2.1.1/plugins/org.dita.eclipsehelp
     [エコー] dita.plugin.org.dita.htmlhelp.dir=/home/lingeringcode/dita-ot-2.1.1/plugins/org.dita.htmlhelp
     [エコー] dita.plugin.org.dita.javahelp.dir=/home/lingeringcode/dita-ot-2.1.1/plugins/org.dita.javahelp
     [エコー] dita.plugin.org.dita.odt.dir=/home/lingeringcode/dita-ot-2.1.1/plugins/org.dita.odt
     [エコー] dita.plugin.org.dita.pdf2.dir=/home/lingeringcode/dita-ot-2.1.1/plugins/org.dita.pdf2
     [エコー] dita.plugin.org.dita.specialization.dita11.dir=/home/lingeringcode/dita-ot-2.1.1/plugins/org.dita.specialization.dita11
     [エコー] dita.plugin.org.dita.specialization.eclipsemap.dir=/home/lingeringcode/dita-ot-2.1.1/plugins/org.dita.specialization.eclipsemap
     [エコー] dita.plugin.org.dita.troff.dir=/home/lingeringcode/dita-ot-2.1.1/plugins/org.dita.troff
     [エコー] dita.plugin.org.dita.wordrtf.dir=/home/lingeringcode/dita-ot-2.1.1/plugins/org.dita.wordrtf
     [エコー] dita.plugin.org.dita.xhtml.dir=/home/lingeringcode/dita-ot-2.1.1/plugins/org.dita.xhtml
     [エコー] dita.plugin.org.oasis-open.dita.v1_2.dir=/home/lingeringcode/dita-ot-2.1.1/plugins/org.oasis-open.dita.v1_2
     [エコー] dita.temp.dir=/home/lingeringcode/dita-ot-2.1.1/projects/css-projects/ant-scripts/temp/temp/temp20151022130204394
     [エコー] *********************************************** ******************

ビルド初期化:

preprocess.init:
     [エコー] *********************************************** ******************
     [エコー] * 入力 = /home/lingeringcode/dita-ot-2.1.1/projects/css-projects/understanding_css.ditamap
     [エコー] *********************************************** ******************

世代リスト:
 [gen-list] デフォルトを使用して、構成から印刷トランスタイプを読み取れませんでした。
 [gen-list] DTD とスキーマ キャッシングに Xerces 文法プールを使用します。
 [gen-list] 処理ファイル:/home/lingeringcode/dita-ot-2.1.1/projects/css-projects/understanding_css.ditamap

ビルドに失敗しました
/home/lingeringcode/dita-ot-2.1.1/projects/css-projects/ant-scripts/ant_grid_web_css.xml:24: この行の実行中に次のエラーが発生しました:
/home/lingeringcode/dita-ot-2.1.1/build.xml:42: この行の実行中に次のエラーが発生しました:
/home/lingeringcode/dita-ot-2.1.1/plugins/org.dita.base/build_preprocess.xml:78: パイプラインの実行に失敗しました: メッセージ構成ファイルの読み込みに失敗しました: メッセージ構成ファイルが見つかりません

現在、「パイプラインの失敗」+構成ファイルのロードの失敗が報告されています。何か案は?

4

1 に答える 1

1

これは重要な情報です:

java.lang.ClassNotFoundException: org.dita.dost.module.GenMapAndTopicListModule

これは、dost.jar が欠落していることを示しています。DITA ライブラリを Ant に渡す必要があります。そうしないと、スクリプトが機能しません。

Antを呼び出す方法については、Ant を使用したビルド出力のドキュメントを参照してください。

Ant で変換を呼び出す必要はまったくないかもしれません。ditaコマンドには、達成しようとしていることがおそらく実行されるパラメーターargs.cssがあります。Ant パラメーター: 一般的な HTML ベースの変換 をご覧ください。

于 2015-10-21T05:22:16.850 に答える