我正在处理一个 docx-pdf 转换任务,它应该从 Ant 脚本中调用。作为基础,我使用 docx4j 库。其中一个类是 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 中,也移动到测试文件夹中。几个classpath和taskdef定义,但似乎没有任何效果。
Java 1.7、日食、蚂蚁 1.8.4
我将不胜感激任何帮助。谢谢!