2010-01-02 29 views

Trả lời

17

Ivy là một phần mở rộng Ant để quản lý thư viện bên ngoài trong quá trình phát triển, đem lại cho bạn một cách để thêm chúng vào classpath của bạn, bundling chúng vào ứng dụng xây dựng của bạn, vv

Có một số chồng chéo với những gì Maven có, nhưng Ivy nhẹ hơn nhiều (và không làm nhiều).

+0

Ivy cạnh tranh với Maven Ant Tasks (http://maven.apache.org/ant-tasks/index.html) nhưng chắc chắn không có Maven. –

+4

Để công bằng, tôi đã không nói nó cạnh tranh với nó, tôi nói có chồng chéo với nó. – skaffman

+0

Vâng, Ivy là một cổng Ant của cơ chế xử lý phụ thuộc Maven, dĩ nhiên có một loại "chồng chéo". Nhưng bạn vẫn không thể so sánh chúng. –

3

Ivy là trình quản lý phụ thuộc - nó quản lý và kiểm soát các tệp JAR mà dự án của bạn phụ thuộc. Nếu bạn không có các JAR, nó sẽ mặc định là pull them down for you (từ kho lưu trữ Maven 2), điều này có thể làm cho việc thiết lập dự án trở nên dễ dàng hơn nhiều.

+0

Ngoại trừ hầu hết các repo ivy/maven từ xa đều khủng khiếp và không đầy đủ. – skaffman

+2

@skaffman Sự kiện vui lòng? –

+0

@Pascal - trải nghiệm của tôi phù hợp với xác nhận của @ skaffman. Ví dụ, khi tôi bắt đầu sử dụng Maven, tôi đã gặp rất nhiều khó khăn trong việc tìm kiếm các phiên bản "đúng" của các JAR api J2EE, và tôi đã từ bỏ việc cố gắng tìm OAIcat. Tôi cũng đã gặp sự cố với các phụ thuộc không hợp lệ yêu cầu giải pháp "loại trừ". Tuy nhiên, đối với tôi, lợi ích của các phụ thuộc kiểu Maven lớn hơn những vấn đề này. –

4

Ivy ban đầu là Jayasoft.fr product vào thời điểm đó theo giấy phép BSD, tuy nhiên, cốt lõi của Ivy luôn giống nhau: Đây là công cụ quản lý phụ thuộc .

Mối quan hệ của Ivy với Ant là nó là phần mở rộng Ant theo nghĩa là thông qua Ant, tuy nhiên nó không thực sự phụ thuộc vào nó (ngoài các phần rõ ràng). Ivy đã được sáp nhập vào một dự án Apache theo Ant là tiểu dự án thông qua quá trình ấp trứng vào ngày 11 tháng 10 năm 2007.

Quan niệm sai lầm rất phổ biến là họ so sánh Ivy với Maven nói chung. Tuy nhiên điều đó không thực sự hiệu quả vì Ivy chỉ xử lý các phụ thuộc một cách nhanh nhẹn và rất tốt với cấu hình đơn giản và hỗ trợ tự động rộng với các hệ thống xây dựng khác nhau, thông qua Ant trong khi Maven thực sự là một hệ thống xây dựng. Ý kiến ​​cá nhân có thể và làm khác nhau trong đó một trong những hiện tốt nhất và đó là giá trị một số Stackoverflow/Google tìm kiếm trên riêng của mình.

0

Tôi tin rằng đây là những điểm quan trọng và hữu ích để thêm:

  • Ivy có thể được sử dụng độc lập từ dòng lệnh mà không Ant. Nếu môi trường CI của bạn không bao gồm Ant, nó sẽ không ngăn cản bạn sử dụng Ivy. Có, tích hợp với Ant là tốt đẹp và, cho đến nay, tài liệu tốt hơn. Người ta có thể áp dụng tài liệu tích hợp Ant để sử dụng độc lập mặc dù.
  • Ivy không chỉ dành cho Java. Nhóm của tôi sử dụng thành công nó để xác định các phụ thuộc cho một dự án .NET khá lớn (10 gói phụ thuộc lẫn nhau với một số phiên bản của mỗi gói trong sản xuất với nhiều phụ thuộc ngược dòng thứ ba). Hoạt động khá tốt. Tôi muốn tài liệu hướng dẫn rõ ràng hơn và đầy đủ hơn.
  • Có các đặc quyền bổ sung mà Ivy cung cấp cho Thời gian xây dựng: xây dựng thượng lưu và hạ lưu kích hoạt.
Các vấn đề liên quan