Tôi có một ứng dụng web Java, trong đó tôi có một số thư mục trong thư mục nguồn webapp tiêu chuẩn (src/main/webapp)
mà tôi không muốn sao chép vào chiến tranh (exploded
hoặc packaged
).Cách loại trừ các tệp bị sao chép, bởi maven, vào cuộc chiến bùng nổ
Một trong những lý do tôi không muốn sao chép các tệp này là chúng tôi chạy trình tối ưu hóa CSS YUI JS & CSS & nén trên các tệp .js và .css trong cuộc chiến bùng nổ. Các tệp mà tôi muốn loại trừ tạo ra lỗi trong giai đoạn nén. Lý do khác tôi không muốn họ thêm vào chiến tranh là họ hỗ trợ thử nghiệm một ứng dụng JS trang duy nhất sống trong webapp (chúng là các kịch bản lệnh thử nghiệm JS phía máy khách dựa trên node
/angular.js
).
Dưới đây là những bộ phận có liên quan từ POM.xml
:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<executions>
<execution>
<id>parent-resources</id>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<overlays>
</overlays>
<webappDirectory>${project.build.directory}/${project.build.finalName}-work</webappDirectory>
</configuration>
<phase>generate-sources</phase>
<goals>
<goal>exploded</goal>
</goals>
</execution>
</executions>
</plugin>
Tôi đã cố gắng, nhưng không thành công, sử dụng warSourceExcludes
để loại trừ những con đường nhất định, nhưng vô ích. Một ví dụ về sử dụng của tôi được hiển thị bên dưới, nơi client/
là một thư mục trực tiếp bên dưới src/main/webapp
:
<configuration>
...
<warSourceExcludes>
<excludes>
<exclude>
client/
</exclude>
</excludes>
</warSourceExcludes>
...
</configuration>
cách chính xác để loại trừ những con đường nhất định là gì, và hoặc các tập tin cá nhân, trong thư mục nguồn ứng dụng web từ được đưa vào cuộc chiến bùng nổ?
CẬP NHẬT
Tiếp theo từ gợi ý từ @maba tôi cập nhật cấu hình như sau:
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<overlays>
</overlays>
<webappDirectory>${project.build.directory}/${project.build.finalName}-work</webappDirectory>
<warSourceExcludes>client/</warSourceExcludes>
</configuration>
Thư mục, client/
, vẫn là nhận được sao chép qua. Bất kỳ ý tưởng?
warSourceExcludes được ghi chép lại như là một chuỗi bằng dấu phẩy, vì vậy không nên có bất kỳ XML trong đó . http://maven.apache.org/plugins/maven-war-plugin/war-mojo.html –
câu hỏi đã được cập nhật để phản ánh việc sử dụng chính xác - vẫn không hoạt động đối với tôi. – Kris
Tôi nghi ngờ rằng có thêm một vấn đề với 'pom.xml' của tôi. Tôi sẽ xem xét liệu những tuần này với dự án nguyên sơ được tạo ra từ một nguyên mẫu – Kris