2009-09-29 19 views

Trả lời

12

Các Maven Ant tasks cung cấp một số mục tiêu cho POM processing

Để truy cập vào phiên bản từ một POM, bạn có thể sử dụng như sau:

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

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

Cập nhật: Để sử dụng các nhiệm vụ. Bạn sẽ cần phải cài đặt chúng. Install instructions

Bạn có thể:

  1. Đặt JAR trong thư mục lib của Ant của bạn, bao gồm nó trong môi trường CLASSPATH biến
  2. Vượt qua nó trong Ant sử dụng tham số dòng lệnh -lib
  3. Sử dụng một tuyên bố typedef. Điều này cho phép bạn lưu trữ thư viện Ant Tasks bất cứ nơi nào bạn thích và đặt nó vào vị trí trong tệp xây dựng.

Với tùy chọn 2. bạn sửa đổi dự án của bạn như sau để làm cho kiến ​​thức của maven-ant-nhiệm vụ schema:

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

Với tùy chọn 3. Bạn chỉ rõ typedef như sau (giả sử các maven -ant-nhiệm vụ jar trong thư mục lib của dự án của bạn):

<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

Tôi gặp lỗi. Những gì tôi nedd để thêm? build.xml: 11: Tiền tố "tạo tác" cho phần tử "tạo tác: pom" không bị ràng buộc. – Chuprin

+1

Nhiệm vụ kiến ​​của Maven không phải là một phần của bản cài đặt Ant. Bạn cần phải thêm chúng. –

+0

+1 cho câu trả lời rất chi tiết (và phải) –

5

Nếu những gì bạn muốn chỉ là để đọc các giá trị từ pom.xml với những gì đang có trong kiến ​​đã có, bạn có thể sử dụng các nhiệm vụ XmlProperty:

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

Tác vụ Ant Maven không còn được duy trì, bằng cách này.

+0

Điều này luôn hoạt động và nó đơn giản hơn rất nhiều so với câu trả lời được chấp nhận. –

+0

Cách tiếp cận tuyệt vời. – jsosnowski

Các vấn đề liên quan