2010-03-04 42 views
6

Tôi đang tìm cách sao chép bất kỳ tệp nào vào máy chủ web của mình bằng cách sử dụng maven. Tôi có một dự án maven chứa một tập hợp các html, js, các thuộc tính và các tập tin cấu hình.Làm thế nào để giải nén hiện vật và lọc tài nguyên?

Tôi muốn đóng gói nội dung của mình và triển khai vào kho lưu trữ. Sau đó trong một dự án maven tôi muốn giải nén các tập tin từ tạo tác, lọc tài nguyên và sao chép vào các thư mục chỉ định trên máy chủ.

Cách tốt nhất để làm điều đó là gì?

maven-dependency-plugin có thể giải nén tạo tác nhưng tôi không tìm thấy cách sử dụng lọc tài nguyên trong trường hợp này và cách chỉ định một số thư mục đầu ra.

Trả lời

1

Tôi sẽ tạo nhiều bản phân phối theo yêu cầu bằng cách sử dụng maven assembly plugin và sử dụng filteringtại thời điểm lắp ráp. Sau đó bạn có thể triển khai các assembly này vào một kho lưu trữ và thực sự sử dụng plugin phụ thuộc maven để lấy và giải nén một assembly từ một máy đã cho. Thông tin thêm về hội đồng trong số Chapter 8. Maven Assemblies của cuốn sách của Sonatype.

Cập nhật: Một thay thế nếu bạn không muốn triển khai "lọc" lắp ráp sẽ được tạo lắp ráp từ máy mục tiêu (vẫn sử dụng hồ sơ và lọc như đề xuất). Bản phân phối đã tạo sẽ chứa nội dung phù hợp trong các thư mục bên phải (bạn có thể làm điều đó với các assembly) và bạn sẽ phải giải nén kho lưu trữ cho bước cuối cùng.

+0

Tôi đoán rằng không nên lưu trữ trong các kho lưu trữ được lọc của kho lưu trữ. Lọc là điều môi trường cụ thể. – eugenn

+0

@eugenn Sự cố khi lưu trữ các tạo phẩm "được lọc" hoặc các tạo tác môi trường cụ thể là gì? Điều này thực sự xảy ra rất nhiều, đặc biệt là với các bản phân phối có thể là nền tảng cụ thể (đây là một ví dụ tầm thường nhưng một .zip hoặc a .tar.gz có thể sử dụng char cuối dòng khác). Tuy nhiên, các tạo tác không được lọc là vô dụng. –

+0

Ví dụ: tôi có hàng chục môi trường để triển khai ứng dụng của mình. Nếu tôi sẽ áp dụng lọc cho bất kỳ hiện vật nào tại thời điểm xây dựng thì cần phải triển khai tới một repo hàng chục hiện vật khác nhau. Hoặc tôi có thể giữ một phiên bản "chưa lọc" (thô) trong repo và sử dụng tính năng lọc, sau đó tôi chỉ tạo một ứng dụng cuối cùng. Tôi muốn có thể tạo ra các tạo phẩm "không lọc" trong một dự án (OK) và sản xuất, tùy chỉnh ứng dụng cuối cùng trong dự án thứ hai. Dự án thứ hai nên loại bỏ các phần giữ chỗ khỏi các tạo phẩm được tạo ra trong dự án đầu tiên. – eugenn

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