2009-09-29 9 views

Antwort

12

Die Maven Ant tasks einige Ziele sorgen für POM processing

Um die Version von einem POM zuzugreifen, können Sie verwenden, um die folgenden:

<artifact:pom id="mypom" file="pom.xml" /> 

<echo>The version is ${mypom.version}</echo> 

Update: So verwenden die Aufgaben. Sie müssen sie installieren. Install instructions

Sie können entweder:

  1. Legen Sie die JAR in Ihrem Ant lib, schließen sie in der Umgebungsvariablen CLASSPATH
  2. es Pass in Ant mit der -lib Kommandozeilenparameter
  3. Verwenden eine typedef-Deklaration Auf diese Weise können Sie die Bibliothek der Ant-Tasks überall speichern und in der Build-Datei speichern.

Mit der Option 2. Sie Ihr Projekt wie folgt ändern Ameise bewusst zu machen, der Maven-ant-Aufgaben Schema:

<project ... xmlns:artifact="antlib:org.apache.maven.artifact.ant"> 
    ... 
</project> 

Mit der Option 3. Sie die typedef wie folgt an (vorausgesetzt, die Maven -ant-Aufgaben Glas ist im Verzeichnis lib des Projekts):

<project ... xmlns:artifact="antlib:org.apache.maven.artifact.ant"> 
    ... 
    <path id="maven-ant-tasks.classpath" path="lib/maven-ant-tasks-2.0.10.jar" /> 
    <typedef resource="org/apache/maven/artifact/ant/antlib.xml" 
     uri="antlib:org.apache.maven.artifact.ant" 
     classpathref="maven-ant-tasks.classpath" /> 
    ... 
</project> 
+0

Ich habe einen Fehler. Was muss ich hinzufügen? build.xml: 11: Das Präfix "Artefakt" für das Element "artefact: pom" ist nicht gebunden. – Chuprin

+1

Die Maven Ameisen Aufgaben sind nicht Teil der Ant Installation. Sie müssen sie hinzufügen. –

+0

+1 für die sehr detaillierte (und richtige) Antwort –

5

Wenn das, was Sie wollen, nur ist es, Werte von pom.xml mit lesen, was bereits in Ameise enthalten ist, können Sie die XmlProperty Aufgabe verwenden:

<xmlproperty file="pom.xml" prefix="pom" /> 
<echo>The version is ${pom.project.version}</echo> 

Die Maven Ant Aufgaben werden übrigens nicht mehr gepflegt.

+0

Das funktioniert immer und es ist viel einfacher als die angenommene Antwort. –

+0

Toller Ansatz. – jsosnowski

Verwandte Themen