2010-02-18 6 views
5

Siehe folgende Maven-Projekt erzeugtWie richte ich Maven ein, um eine Einstellungsdatei für eine andere zu überschreiben, wenn ich einen Test durchführe?

target 
    classes 
    test-classes 
src 
    main 
     java 
     scripts 
     resources 
      datasource-settings.xml 
    test 
     java 
     resources 
      datasource-settings.xml 

Ich möchte, beim Ausführen eines Test, die Einstellungen im Test/resources/datasource-settings.xml statt main/resources/Datenquelle-Einstellungen gefunden zu verwenden .xml. Ist es möglich ? Wenn ja, was sollte ich tun, um mein Ziel zu erreichen?

Antwort

9

Ressourcen, die in ${basedir}/src/test/resources (der Standardspeicherort) platziert wurden, werden automatisch zu dem von Maven für Ihre Komponententests eingerichteten Klassenpfad hinzugefügt und haben Vorrang vor Ressourcen in ${basedir}/src/main/resources. Was Sie also tun wollen, ist eigentlich nur das Standardverhalten.

3

Wenn Sie die Ressourceneinstellungen in Ihrem POM nicht geändert haben, sollten die Testressourcen zuerst in Ihrem Klassenpfad angezeigt werden. Daher sollte ein Test diese Datei vor der Hauptdatei finden, ohne dass Sie etwas extra tun müssen. Was für ein Verhalten siehst du?

+0

@Jeff Storey Ein Seam-gem generiertes Projekt verwendet ein ähnliches Verhalten wie in meiner Frage gezeigt. Also möchte ich das gleiche Verhalten beim Ausführen eines Maven-Projekts erhalten. Ich werde es morgen versuchen. Vielen Dank! –

Verwandte Themen