Ant

2009-09-29 35 views
7

yılında Mavens en pom gelen proje sürümü almak için nasıl maven projesi ve bunun için karınca görev var. karınca görevde i pom.xml gelen sürüm özelliğini almak istiyorum. Nasıl edinilir?Ant

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

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

Güncelleme: <version>2.03.010</version>

cevap

12

Maven Ant tasks aşağıdaki kullanabilirsiniz, bir POM'dan sürümünü erişmek için POM processing

için bazı hedefler sağlar: pom.xml olarak

kullanmak için görevler. Onları yüklemeniz gerekecek. Ya Install instructions

Şunları yapabilirsiniz:

  1. yerleştirin Ant lib dizininde JAR, değişken CLASSPATH'E ortamında dahil
  2. -lib komut satırı parametresini
  3. Kullanım kullanarak Ant için bunu iletin bir yazım hatası beyanı. Bu, Ant Görevler'in kütüphanesini istediğiniz herhangi bir yerde saklamanıza ve yerini yapı dosyasına koymanıza olanak tanır. maven-karınca görevler şemanın karınca haberdar etmek için şöyle

seçenek 2. ile projenizi değiştirin: aşağıdaki gibi typedef belirtmek seçeneği 3. ile

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

(maven varsayarak zaten karınca nelerin dahil olan pom.xml değerlerini okumak sadece ne istediğiniz

<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

bir hata var. Ne eklemek istedim? Build.xml: 11: eleman için önek "yapay" "eser: pom" bağlı değildir. – Chuprin

+1

Maven ant görevi, Ant yüklemesinin bir parçası değildir. Onları eklemelisin. çok detaylı (ve sağ) cevabı –

+0

1, teşekkür –

5

, sen XmlProperty görevi kullanabiliyorsanız: -ant-görevler kavanoz projenizin lib dizinine) yer alır

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

Maven Ant Görevler artık arada, korunur.

+0

Bu her zaman çalışır ve kabul edilen yanıt çok daha basittir. –

+0

Harika bir yaklaşım. – jsosnowski