2016-07-12 8 views
-1

3rdparty.propertykippe lesen Eigenschaftsdatei

xerces.version=1.0 

Ich habe diese Eigenschaft Datei, und ich will seinen Inhalt lesen, aber ich war nicht in der Lage zu lesen.

<plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>properties-maven-plugin</artifactId> 
     <executions> 
      <execution> 
      <phase>initialize</phase> 
      <goals> 
       <goal>read-project-properties</goal> 
      </goals> 
      <configuration> 
       <files> 
       <file>3rdparty.properties</file> 
       <echo>foo is "${xerces.version}"</echo> 
       </files> 
      </configuration> 
      </execution> 
     </executions> 
     </plugin> 

Protokolldatei zeigt, dass es einen Fehler hat. der Fehler

The project com.CAPMOnline:IDLUtils:1608.0.11 (C:\srathaworkspace\IDLUtils\pom.xml) has 1 errors 
[ERROR]  'dependencies.dependency.version' for com.3rdParty:xerces:jar must be a valid version but is '${xerces.version}'. @ com.CAPMOnline:IDLUtils:[unknown-version], C:\srathaworkspace\IDLUtils\pom.xml, line 22, column 13 
+0

einfach die Version in die Version Tag der Abhängigkeit schreiben. Umleiten, um die Version von einer Eigenschaft zu verwenden, hat keinen Vorteil. – khmarbaise

Antwort

0

Ist der Pfad zu Ihrer Datei korrekt? Versuchen Sie zu verwenden:

   <files> 
       <file>${project.basedir}/3rdparty.properties</file> 
       </files> 

Entfernen Sie auch die echo Anweisung.

Die Abhängigkeitsversionen werden aufgelöst, sobald der Pom analysiert wird. Sie können nicht durch eine Eigenschaft festgelegt werden, die zur Laufzeit von einem Plugin nur durch eine bereits vorhandene Eigenschaft geladen wird. Alle Lebenszyklusphasen werden ausgeführt nach die Abhängigkeit Version wurde behoben. Der richtige Ansatz wäre, Ihre Eigenschaften in einen übergeordneten Pom zu verschieben und davon zu erben.

Sehen Sie hier für eine weitere Frage: Maven - Reading a property from an external properties file

+0

nein dies funktioniert nicht, wie ich zuvor versucht habe und die Eigenschaft Datei ist bereits an der richtigen Stelle, d. –

+0

bedeutet, dass Sie sagen, ich kann nicht die Version in einer externen Datei geben und ich kann nicht zugreifen, wenn ich will. –

+0

Sie können es durch einen Elternpom übergeben. Es kann nicht über ein Plugin geladen werden, da alle Lebenszyklusphasen nur ausgeführt werden, nachdem die Abhängigkeitsversion aufgelöst wurde. Siehe bearbeiten – Revive