2013-08-06 29 views
6

Tôi đóng gói ứng dụng của tôi làm bình.Maven: thuộc tính tập tin cùng với jar

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <version>2.4</version> 
      <configuration> 
       <archive> 
        <manifest> 
         <mainClass>...</mainClass> 
        </manifest> 
       </archive> 
      </configuration> 
     </plugin> 

Và tôi cũng có tệp .properties được đặt bên trong src/main/resources. Tôi có thể tự do di chuyển tệp này đến bất kỳ nơi nào khác. Tôi không muốn tập tin thuộc tính được đưa vào trong jar, mà đúng hơn là đặt vào cùng một thư mục đầu ra (nơi chúng ta lấy jar) cạnh nhau. Thực hành tốt nhất cho điều này ở Maven là gì?

+1

thể trùng lặp của [Làm thế nào để loại trừ poperties tập tin từ file jar?] (Http://stackoverflow.com/questions/2728993/how-to-exclude-poperties-file-from-jar-file) –

Trả lời

9

OK, bạn có thể sử dụng mục tiêu resources:copy-resources của plugin maven-resources. Tôi vừa rời khỏi tài nguyên tiêu chuẩn thư mục cho tài nguyên được nhúng (vào jar). Và đối với tài nguyên bên ngoài, tôi tạo một thư mục khác: src/main/external-resources. Ở đây tôi đặt tập tin .properties của tôi.

Phần sau sẽ sao chép tài nguyên bên ngoài vào thư mục đầu ra khi xác thực giai đoạn. Bạn có thể thay đổi giai đoạn theo nhu cầu của riêng bạn.

 <plugin> 
      <artifactId>maven-resources-plugin</artifactId> 
      <version>2.6</version> 
      <executions> 
       <execution> 
        <id>copy-resources</id> 
        <phase>validate</phase> 
        <goals> 
         <goal>copy-resources</goal> 
        </goals> 
        <configuration> 
         <outputDirectory>${project.build.directory}</outputDirectory> 
         <resources> 
          <resource> 
           <directory>src/main/external-resources</directory> 
          </resource> 
         </resources> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
+0

Trong khi xây dựng cùng một bằng cách sử dụng Jenkins lý do tại sao chúng ta chỉ thấy jar nhưng không phải là thư mục chúng ta cấu hình ở đây trong Nexus –

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