我正在开发一个docx-pdf转换任务,应该从Ant脚本调用它。作为基础,我使用docx4j库。在其中一个类中有一个getResource调用,它试图访问org / docx4j / convert / out / pdf / viaXSLFO / docx2fo.xslt文件,该文件存储在docx4j JAR中。
我编写了主类,当我从IDE启动时,它运行正常。构建也是使用Ant完成的,没有错误。
问题是,当我开始测试时,它无法访问上面提到的文件(docx2fo.xslt)。我的taskdef如下:
<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文件夹中。几个classpath和taskdef定义,但似乎没什么用。
Java 1.7,eclipse,Ant 1.8.4
我将不胜感激任何帮助。谢谢!