Lesen der Eigenschaften-Datei-Werte in pom.xml
Habe ich versucht, und Folgen Sie dieser Lösung
Wie zu Lesen, eine externe properties-Datei in Maven
aber mit kein Glück.
Ich würde gerne Lesen Sie einen absoluten Pfad(/home/tomcat/lib) aus einer properties-Datei(die ist im gleichen Ort wie pom.xml) und setzen Sie den Wert in der pom.xml
Projekt.Eigenschaften-Datei enthält:
myTomCat.lib.location=/home/tomcat/lib
pom.xml Konfiguration enthält:
<properties>
<envTomcatLib>${myTomCat.lib.location}</envTomcatLib>
</properties>
<dependencies>
<dependency>
<artifactId>MyJar</artifactId>
<groupId>MyJar</groupId>
<scope>system</scope>
<version>1.0</version>
<systemPath>/${envTomcatLib}/MyJar.jar</systemPath>
</dependency>
</dependencies>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0-alpha-1</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>${basedir}/project.properties</file>
</files>
</configuration>
</execution>
</executions>
</plugin>
Entweder wird das problem bei eclipse kompilieren oder ausführen "mvn install", dass der Platzhalter ${envTomcatLib}/MyJar.jar, kann nicht aufgelöst /home/tomcat/lib/MyJar.jar und bleibt ${envTomcatLib}/MyJar.jar.
Kann mir bitte jemand helfen?
Dank
- Eigenschaften können festgelegt werden, in der Maven-Einstellungen-Dateien. Finden Sie die doco auf Maven-build-profile. Zusätzlich mit einem system scope ist eine schlechte Idee, führt zu instabilen und schwer zu Hafen baut.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werte in der
<properties>
Abschnitt werden zugewiesen, wenn der POM ist anfänglich geladen wird. Dieproperties-maven-plugin
wirkt sich nur auf plugins Hinrichtungen, die nach dem Punkt, wo die Objekte wurden geladen. Mehr Details in einem ähnliche Antwort ich zur Verfügung gestellt.BTW, die Maven-Referenz-Buch hat dies zu sagen über die system-Umfang: "Beachten Sie, dass dieser Umfang ist nicht zu empfehlen (Sie sollten immer versuchen, zu Referenz-Abhängigkeiten in einer öffentlichen oder benutzerdefinierten Maven-repository)."
Müssen Sie Sie möglicherweise entfernen
"/"
vor/${envTomcatLib}/MyJar.jar
oder geben den Wert der Eigenschaft alshome/tomcat/lib
statt/home/tomcat/lib
. Kann es sein das der Grund für die nicht in der Lage, zur Klärung Ihrer Lage.