Ho un progetto Maven multi-modulo. All'interno del modulo di persistere Ho un certo numero di file di dati file XML che fanno riferimento a un DTD:Percorso a DTD XML per DBUnit in un progetto Java/Maven multi-modulo?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE myapp-data SYSTEM "myapp-data.dtd" >
<dataset>
.....omitted for brevity....
</dataset>
Il DTD è memorizzato nella stessa directory con i file XML e anche Eclipse segnala questi file XML come valido.
Tuttavia, quando eseguo l'applicazione, DBUnit FlatXMLDataSet genera un'eccezione FileNotFound perché non è in grado di individuare la DTD. Apparentemente sta cercando il DTD nella directory del progetto root (ad esempio, myproject /). Mi sarei aspettato che cercasse il DTD nella stessa directory del file XML stesso (ad es. Myproject/persist/target/test-data).
Guardando il codice sorgente di DBUnit, ha da dire a riguardo "I dati relativi a DOCTYPE uri sono risolti dall'attuale dicrectory di lavoro".
Qual è un buon modo per risolvere il problema?
quale versione stai usando? Non riesco a trovare questo codice qui: http://dbunit.sourceforge.net/xref/org/dbunit/dataset/xml/FlatXmlDataSetBuilder.html –
È nel link che hai fornito ... verifica riga 195 - difficile da trovare in realtà. http://dbunit.sourceforge.net/xref/org/dbunit/dataset/xml/FlatXmlDataSetBuilder.html#195 – HDave