Ant スクリプトから呼び出す必要がある docx-pdf 変換タスクに取り組んでいます。基本として、docx4j ライブラリを使用します。そのクラスの 1 つに getResource 呼び出しがあり、docx4j JAR 内に保存されている org/docx4j/convert/out/pdf/viaXSLFO/docx2fo.xslt ファイルにアクセスしようとします。
メイン クラスを作成し、IDE から起動すると正常に動作します。ビルドもAntで行いエラー無しです。
問題は、テストを開始すると、上記のファイル (docx2fo.xslt) にアクセスできないことです。私のタスク定義は次のとおりです。
<taskdef name="docxToPdf" classname="com.tools.docxtopdf.DocxToPdf">
<classpath>
<fileset file="./docxToPdf.jar" />
<fileset dir="../lib">
<include name="*.jar"/>
</fileset>
</classpath>
</taskdef>
プロジェクトの構造は
root
|- bin
|- lib
|--- library jars (a lot of them)
|- src
|- test
|--- build.xml
|--- docxToPdf.jar
|--- test.docx
|- build.xml
エラーは次のとおりです。
ERROR org.docx4j.utils.ResourceUtils .getResource line 40 - Couldn't get resource: org/docx4j/convert/out/pdf/viaXSLFO/docx2fo.xslt
指定されたファイルを docxToPdf.jar と test フォルダーに移動しようとしました。いくつかのクラスパスとタスク定義が定義されていますが、何も機能していないようです。
Java 1.7、エクリプス、Ant 1.8.4
助けていただければ幸いです。ありがとう!