2010-02-08 38 views
35

Tôi có một dự án với 5 mô-đun trong maven. Ngay bây giờ, khi tôi làm một "cài đặt sạch mvn", nó tạo ra một tai chứa hai lọ, một cuộc chiến tranh và một sar từ các mô-đun khác.Xóa số phiên bản khỏi tên tệp bằng Maven

Tất cả các tên tập tin chứa các phiên bản, ví dụ như, Projectx-tai-2.0.0.ear, Projectx-client-2.0.0.jar vv

tôi cần phải đổi tên một trong những lọ và cuối cùng tai để bỏ qua phiên bản trong tên tập tin. Nó sẽ giống như thế này:

projectx-ear.ear 
| 
+-- projectx-client.jar 
| 
+-- projectx-misc-2.0.0.jar 
| 
+-- projectx-sar-2.0.0.sar 
| 
\-- projectx-web-2.0.0.web 

Ngay bây giờ tôi đang sử dụng các plugin sau đây để xây dựng: maven-biên dịch-plugin và maven-release-Plugin

Điều gì sẽ là cách tốt nhất để đạt được kết quả tôi mong đợi?

Trả lời

19

Trong mô-đun tai của bạn, bạn có thể sử dụng các yếu tố project.build.finalName hoặc bạn có thể cấu hình các maven-ear-plugin mà hỗ trợ một tham số tùy chọn finalName . Và để định cấu hình tên cuối cùng của một bình được đóng gói, bạn sẽ cần xác định jarModule và đặt thuộc tính bundleFileName cho nó.

Cấu hình sức thức trông giống như thế (tôi sẽ chứng minh làm thế nào để thiết lập tên tai thức trong cấu hình Plugin đây):

<project> 
    [...] 
    <dependencies> 
    <dependency> 
     <groupId>yourgroupid</groupId> 
     <artifactId>projectx-client</artifactId> 
     <version>2.0.0</version><!-- not mandatory if inherited --> 
    </dependency> 
    [...] 
    </dependencies> 
    [...] 
    <build> 
    [...] 
    <plugins> 
     [...] 
     <plugin> 
     <artifactId>maven-ear-plugin</artifactId> 
     <version>2.4</version> 
     <configuration> 
      <finalName>projectx-ear</finalName> 
      <modules> 
      <jarModule> 
       <groupId>yourgroupid</groupId> 
       <artifactId>projectx-client</artifactId> 
       <bundleFileName>anotherName.jar</bundleFileName> 
      </jarModule> 
      </modules> 
     </configuration> 
     </plugin> 
     [...] 
</project> 
+0

Cảm ơn, chính xác những gì tôi cần! – Bani

+2

Hiện tại, các phiên bản sau của plugin (Tôi đang sử dụng 2.6) cho phép bạn chỉ định bên trong '' a ' không có phiên bản' để xóa số phiên bản của các mô-đun của bạn (để bạn không cần phải xác định mỗi người trong số họ). Tuy nhiên, tên tai không bị ảnh hưởng bởi điều này. – SJuan76

82

Bạn có thể đạt được điều này bằng cách xác định finalName tài sản trong pom của bạn như thế này:

<build> 
    <finalName>${project.artifactId}</finalName> 
</build> 
+0

trình như một say mê. Cảm ơn! –

+0

Vì loại câu trả lời một dòng tôi yêu stackoverflow :) Cảm ơn! – lord5et

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