2010-12-14 35 views
7

Khi maven xây dựng một lọ nó đặt một pom.xml tại META-INF /// pom.xml. Đây là pom gốc của đồ tạo tác. Không có biến nào được mở rộng hoặc kế thừa và không có phụ thuộc kế thừa nào được liệt kê. Điều này làm cho thông tin của bình sản xuất phụ thuộc vào môi trường xây dựng.làm thế nào để kiểm soát pom.xml bên trong jar được xây dựng bởi maven?

Làm thế nào để pom trong bình được cấu hình? Tốt nhất sẽ là một số cấu hình của maven-jar-plugin.

Trả lời

6

Tôi có yêu cầu tương tự, vì tôi muốn nhận tất cả thông tin thuộc về phụ huynh pom.xml. Nói cách khác, tôi muốn có, ngoài "thô" pom.xml, hiệu quả pom bên trong JAR được tạo ra.

Ý tưởng là sử dụng plugin và mục tiêu help:effective-pom trong quá trình tạo JAR và đặt nó với pom.xml. Này được thực hiện với cấu hình này:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-help-plugin</artifactId> 
    <version>2.1.1</version> 
    <executions> 
     <execution> 
      <phase>generate-resources</phase> 
      <goals> 
       <goal>effective-pom</goal> 
      </goals> 
      <configuration> 
       <output>${project.build.outputDirectory}/META-INF/maven/${project.groupId}/${project.artifactId}/effective-pom.xml</output> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

(source)

+0

Đây là những gì tôi thực sự muốn :-) Chỉ Tôi muốn thoát khỏi những pom liệu (mà tôi không thể dễ dàng nhìn thấy câu hỏi được liên kết) hoặc cắt bớt phần nào. – openCage

+2

đọc thêm các câu hỏi và câu trả lời được liên kết Tôi thấy rằng bạn có thể ngăn chặn pd pom trong maven-jar-plugin false và đặt tên là pom hiệu quả. – openCage

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