3 Stimmen

Überspringen der Ausführung eines Maven-Plugins, wenn eine Datei nicht vorhanden ist

Ich möchte das hibernate3-maven-plugin in mein übergeordnetes pom setzen und die Ausführung in untergeordneten Modulen überspringen lassen, wenn eine bestimmte Datei in diesem Modul nicht vorhanden ist.

Gibt es eine Möglichkeit, dies zu tun?

Bis jetzt musste ich das tun:

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

In der übergeordneten POM, und:

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

In allen untergeordneten POMs, in denen ich es ausführen möchte. D.h. Diejenigen, die tatsächlich eine jdbc.properties-Datei haben.

4voto

crowne Punkte 8317

Möglicherweise können Sie dies mit Profilen tun, aber ich vermute, dass Sie es nicht im übergeordneten Projekt ausführen möchten, 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

1voto

mmccomb Punkte 13068

Ich bin nicht 100%ig sicher, was die Logistik angeht, aber Sie könnten möglicherweise die Maven-Exec-Plugin in Kombination mit einem Shell-Skript. Das Shell-Skript würde das Vorhandensein der Datei prüfen und dann das mvn-Plugin unter Verwendung des maven pom-Verzeichnisses aufrufen, das über die Maven-Umgebungsvariablen abgerufen und an das Shell-Skript übergeben werden kann.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X