2013-04-22 24 views
5

Tôi đang sử dụng maven-chiến-plugin để xây dựng một tập tin .WARLàm thế nào để loại trừ các nguồn lực từ maven xây dựng của tôi, packagingExcludes không làm việc

Tôi đang sử dụng packagigExcludes và nó đang làm việc tốt cho các tập tin .jar:

<packagingExcludes>WEB-INF/lib/jetty-*.ja       
         WEB-INF/../resources/log4j.properties, 
         WEB-INF/../resources/web.properties 
        </packagingExcludes> 

Nhưng các thuộc tính tập tin trên không bị exluded, tôi cũng đã cố gắng:

src/main/resources/web.properties 

Đây là một dự án maven đa mô-đun, và tôi một m xây dựng một tập tin .war cho dự án mvc maven mùa xuân này và tôi phải loại trừ những tập tin này nhưng nó không hoạt động.

Mọi con trỏ?

Trả lời

9

tôi chỉ cố gắng ... bạn có chắc bạn đang làm cấu hình ở đúng nơi? pom của tôi trông như thế này:

<?xml version="1.0"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <parent> 
     <groupId>com.example</groupId> 
     <artifactId>example-parent</artifactId> 
     <version>0.1.4-SNAPSHOT</version> 
    </parent> 
    <artifactId>example-webapp</artifactId> 
    <packaging>war</packaging> 
    <url>http://maven.apache.org</url> 
    <dependencies> 
     [...] 
    </dependencies> 
    <build> 
     <plugins> 
      <plugin> 
       <artifactId>maven-war-plugin</artifactId> 
       <version>2.3</version> 
       <configuration> 
        <packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes> 
       </configuration> 
      </plugin> 
     </plugins> 
     <finalName>example-webapp</finalName> 
    </build> 
</project> 

----> EDIT

để exlude thứ từ tài nguyên, bạn sẽ phải làm điều này:

  <plugin> 
       <artifactId>maven-war-plugin</artifactId> 
       <version>2.3</version> 
       <configuration> 
        <packagingExcludes> 
         WEB-INF/classes/log4j.properties 
        </packagingExcludes> 
       </configuration> 
      </plugin> 
+0

Nhưng bạn thậm chí không cố gắng loại trừ tài nguyên khỏi thư mục/resources? như web.properties trong ví dụ của tôi. Các tệp .jar cũng đang hoạt động cho tôi. – Blankman

+1

có - nhưng hãy cẩn thận! các tài nguyên không thực sự trong tài nguyên ... nội dung từ/src/main/resources kẻ thù vào/WEB-INF/classes/nên bạn có thể muốn loại trừ \t \t \t \t \t WEB-INF/classes/log4j.properties Thay vào đó, rmalchow

+0

. giải pháp dưới đây ngăn các tệp đó được sao chép ở địa điểm đầu tiên (từ src đến đích) vì vậy nó có thể hoạt động tốt. – rmalchow

2

Thêm này trong pom.xml

</build> 
    <resources> 
     <resource> 
      <directory>src/main/resources</directory> 
      <excludes> 
       <exclude>web.properties</exclude> 
      </excludes 
     </resource> 
    </resources> 
</build> 
+0

xin lỗi quên đề cập đến, tôi đang sử dụng maven-war-plugin để xây dựng một tệp .war, tôi có nên thử không? – Blankman

+0

+0

tốt, cách tiếp cận ban đầu vẫn hoạt động, nếu bạn ghi nhớ rằng nội dung của src/main/resources được sao chép vào $ {target}/WEB- INF/classes/vì vậy bạn phải loại trừ các đường dẫn đó, chứ không phải các đường dẫn trong thư mục nguồn. – rmalchow

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