2009-07-09 30 views
12

Tôi có một siêu pom được xác định trong đó tôi chỉ định thư mục "tài nguyên" cho tài nguyên. Trong một trong các dự án của tôi, pom của tôi mở rộng siêu pom đó và tôi muốn thêm một tài nguyên bổ sung. Tôi cố gắng:thêm tài nguyên bổ sung vào một maven pom

<resources> 
     <resource> 
      <targetPath>/</targetPath> 
      <directory>additionalDir</directory>     
     </resource> 
    </resources> 

Nhưng mà kết quả trong chỉ additionalDir là trong các nguồn lực và không bao gồm các nguồn lực siêu pom của. Có cách nào để mở rộng tài nguyên của siêu pom không?

Trả lời

14

Hành vi bạn mô tả được mong đợi.

Hãy nhớ rằng siêu POM của bạn được kế thừa từ Maven's default POM và khá nhiều bất kỳ plugin nào bạn xác định trong pom của bạn sẽ ghi đè hiệu quả cài đặt trong POM mặc định. Ví dụ, để cho phép lọc trên tài nguyên mặc định, bạn phải chỉ định đường dẫn trong POM của bạn. Bạn làm điều này:

<resources> 
    <resource> 
    <directory>src/main/resources</directory> 
    <filtering>true</filtering> 
    </resource> 
</resources> 

Không này:

<resources> 
    <resource> 
    <filtering>true</filtering> 
    </resource> 
</resources> 

Các thư mục mặc định không bong bóng lên cho bạn, thậm chí nếu bạn đã chỉ định nó ở đó. Có thể có một MOJO đặc biệt để làm điều đó cho bạn, nhưng tôi không thể tìm thấy nó.

+0

cảm ơn bạn đã làm rõ. –

+0

Tôi tự hỏi, làm thế nào điều này sửa chữa câu hỏi của op? bạn sẽ làm cho nó rõ ràng hơn? Nơi nào nên làm bất kỳ thay đổi – Jaskey

3

Xem trang usage của trình trợ giúp xây dựng-helper-maven-plugin.

+0

Điều này làm việc, đó là một chút khó chịu phải xác định ' $ {project.outputDirectory}' và ' đúng' mà thậm chí không được ghi lại (nhưng hoạt động). – ggb667

0

Có, maven ghi đè tài nguyên của cha mẹ POM khi xác định lại phần tài nguyên mới.

Tuy nhiên, một cách đơn giản để thêm nguồn lực là

  1. Tháo phần nguồn lực từ POM của bạn
  2. Hiện Các POM hiệu quả
  3. Sao chép các nguồn lực từ POM hiệu quả của bạn vào dự án của bạn
  4. Thay thế đường dẫn tuyệt đối bằng đường dẫn tương đối
  5. Thêm tài nguyên bổ sung của bạn
Các vấn đề liên quan