我有一个多模块maven项目。内坚持模块我有很多的引用DTD的XML文件中的数据文件:多模块Java/Maven项目中用于DBUnit的XML DTD的路径?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE myapp-data SYSTEM "myapp-data.dtd" >
<dataset>
.....omitted for brevity....
</dataset>
DTD是存储在与XML文件在同一目录,甚至Eclipse的报告这些XML文件是有效的。
但是,当我运行该应用程序时,DBUnit FlatXMLDataSet将引发FileNotFound异常,因为它无法找到DTD。显然,在根项目目录(例如myproject /)中寻找DTD。我希望它会在XML文件本身的同一目录中查找DTD(例如myproject/persist/target/test-data)。
查看DBUnit源代码,它有这样的说法:“相对DOCTYPE uri从当前工作dicrectory解析”。
解决这个问题的好方法是什么?
你使用的是什么版本?我在这里找不到这个代码:http://dbunit.sourceforge.net/xref/org/dbunit/dataset/xml/FlatXmlDataSetBuilder.html – 2010-06-13 09:49:17
它在你提供的链接中...检查第195行 - 很难找到其实。 http://dbunit.sourceforge.net/xref/org/dbunit/dataset/xml/FlatXmlDataSetBuilder.html#195 – HDave 2010-06-13 21:40:55