Tóm lại, một kịch bản kiến cho công cụ kiến phải làm gì - "biên dịch các tệp này và sau đó sao chép chúng vào thư mục đó. Sau đó, lấy nội dung của thư mục này và tạo bản lưu trữ."
Trong khi maven pom
khai báo những gì chúng tôi muốn có kết quả là - "đây là tên của thư viện mà dự án phụ thuộc và chúng tôi muốn tạo lưu trữ web". Maven biết cách lấy các thư viện và tìm các lớp nguồn ở đâu.
Trong khi kiến cung cấp cho bạn sự linh hoạt hơn, nó cũng buộc bạn phải liên tục phát minh lại bánh xe.
Maven ở phía bên kia đòi hỏi cấu hình ít hơn, nhưng có thể cảm thấy quá hạn chế, đặc biệt là nếu bạn đang sử dụng một quy trình làm việc khác.
EDIT: Một khía cạnh quan trọng của việc so sánh ant-maven là maven có ước, mô tả nơi các tập tin nên nói dối, nơi các phụ thuộc được tìm thấy, nơi để đặt các vật kết quả, trong khi kiến không .
Vì vậy, bạn có thể nghĩ đến việc sử dụng maven như đi xe buýt - bạn chọn điểm dừng nơi bạn nhập và nơi bạn rời đi. Sử dụng kiến cũng giống như lái xe - bạn phải tự mình làm điều đó. Bạn không cần phải nói với tài xế xe buýt phải làm gì, nhưng điểm dừng có thể quá xa nơi bạn muốn đến.
EDIT2: ẩn dụ 'Tái tạo bánh xe' có vẻ ít rõ ràng hơn tôi đã hy vọng. Đây là ý của tôi:
Không có quy ước mặc định/quy ước, bạn phải xác định cấu trúc dự án và vòng đời xây dựng một cách rõ ràng cho từng dự án, thường làm cho nó trở thành vấn đề về hương vị và ý kiến. Vì các tùy chọn khác nhau giữa các nhóm và các công ty, nên hãy xây dựng các quy trình. Điều này đòi hỏi nhiều nỗ lực nhận thức cho các thành viên dự án mới và các nhà bảo trì sau này. Tùy thuộc vào kinh nghiệm và chuyên môn của các nhà phát triển, giải pháp cuối cùng có thể khó mở rộng và sử dụng.
Như tôi đã nói trong phần bình luận bên dưới, trong khi thực hành tốt nhất cho kiến xây dựng tồn tại, chúng vẫn phải được thực hiện cho từng dự án, hoặc sao chép từ dự án đến dự án, thay vì trở thành một hộp mặc định của chính công cụ xây dựng.
Maven hơi xa về phía bên kia của sự cân bằng cho khẩu vị của tôi. Thay đổi các giá trị mặc định không phải là dễ dàng như nó có thể và nên được.
Trong khi tôi chưa từng làm việc trên Ant, nhưng một cái gì đó như thế phải được giải quyết đúng không?Giống như somekind của plugin trong Ant rằng điều tương tự trên nhiều dự án? –
@AnkitDhingra Tôi sợ thực hành phổ biến với kiến là sao chép-dán các thiết lập đã làm việc lần cuối :) Có những thực hành tốt nhất, chắc chắn, nhưng bạn vẫn phải thực hiện chúng. Xin vui lòng xem chỉnh sửa – kostja
@AnkitDhingra cũng không thực sự giống như phát minh lại bánh xe, bạn đúng, thay vì xây dựng lại nó. – kostja