Maven: Setzen Sie die Eigenschaft in pom.xml aus der Eigenschaftendatei

8

Ich habe ein Multi-Modul-Projekt mit vielen Abhängigkeiten von verschiedenen Modul-Versionen. Im Moment sind Versionen fest codiert und man muss sie manuell ändern. Also habe ich beschlossen, alle von ihnen in eine Eigenschaftendatei zu legen und daraus während des Projekt-Builds Eigenschaftenwerte abzurufen.

Hier ist, wie ich es versuche:

root pom.xml

%Vor%

Datei version.properties

%Vor%

Beispiel für das Modul pom.xml

%Vor%

Build schlägt fehl mit:

  

Das Ziel konnte nicht ausgeführt werden   org.codehaus.mojo: build-helper-maven-plugin: 1.7: Parse-Version   (parse-versions) auf dem Projekt ccm-agent: Ausführungsparse-Versionen von   Ziel org.codehaus.mojo: build-helper-maven-plugin: 1.7: Parse-Version   gescheitert. NullPointerException - & gt; [Hilfe 1]   org.apache.maven.lifecycle.LifecycleExecutionException: Fehler bei   Ziel ausführen   org.codehaus.mojo: build-helper-maven-plugin: 1.7: Parse-Version   (parse-versions) auf dem Projekt ccm-agent: Ausführungsparse-Versionen von   Ziel org.codehaus.mojo: build-helper-maven-plugin: 1.7: Parse-Version   gescheitert.

Wie kann ich einige Eigenschaften aus einer Datei lesen und pom.xml korrekt konfigurieren?

    
Dragon 02.09.2013, 13:04
quelle

2 Antworten

6

Am Ende schien es sehr einfach zu sein. Ich habe initialize phase verwendet. Durch die Änderung in validate wurde das Problem behoben:

%Vor%     
Dragon 02.09.2013, 13:31
quelle
2

Sie dürfen die Eigenschaften / Variablenersetzung nicht innerhalb von <parent> elements verwenden.

Der Hauptgrund hier ist, dass Maven das Eltern-POM lesen muss, bevor es damit beginnen kann, Eigenschaften zu erweitern, da das Eltern-POM auch Eigenschaften definieren kann.

    
Aaron Digulla 02.09.2013 13:17
quelle

Tags und Links