2010-11-26 9 views
2

Ich möchte das Hibernate3-Maven-Plugin in mein Eltern-Pom setzen und die Ausführung in Untermodulen überspringen lassen, wenn eine bestimmte Datei in diesem Modul nicht existiert.Ausführung eines Maven-Plugins überspringen, wenn eine Datei nicht existiert

Gibt es eine Möglichkeit, dies zu tun?

Bis jetzt habe ich dies zu tun hatte:

<plugin> 
    ... 
    <configuration> 
     <skip>true</skip> 
     <propertyfile>target/test-classes/jdbc.properties</propertyfile> 
    </configuration> 
</plugin> 

Im Mutter POM, und:

<plugin> 
    ... 
    <configuration> 
     <skip>${maven.test.skip}</skip> 
    </configuration> 
</plugin> 

In allen Kind POMs, wo ich es ausgeführt werden soll. I.E Diejenigen, die tatsächlich eine jdbc.properties-Datei haben.

Antwort

4

Sie können dies möglicherweise mit Profilen tun, aber ich nehme an, Sie möchten es wahrscheinlich nicht im übergeordneten Projekt ausführen, was problematisch sein könnte.
Hier sind einige Links zu Profilen:

Diese Frage hatte ein ähnliches Problem und war nicht in der Lage es mit Profilen zu lösen:
activate-different-maven-profiles-depending-on-current-module

1

Ich bin nicht 100% auf die Logistik, aber Sie könnten möglicherweise die maven exec plugin in Kombination mit einem Shell-Skript verwenden. Das Shell-Skript würde nach dem Vorhandensein der Datei suchen und dann das mvn-Plugin mit dem Maven-Pom-Verzeichnis aufrufen, das über die Maven-Umgebungsvariablen abgerufen und an das Shell-Skript übergeben werden kann.

Verwandte Themen