Tôi đã thấy nhiều tệp ivy trong các dự án xây dựng ứng dụng của mình. Ivy là gì, và mối quan hệ của nó với kiến?ivy là gì? và nó liên quan đến kiến như thế nào?
Trả lời
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).
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. –
Để 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
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. –
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.
Ngoại trừ hầu hết các repo ivy/maven từ xa đều khủng khiếp và không đầy đủ. – skaffman
@skaffman Sự kiện vui lòng? –
@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. –
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.
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.
- 1. Cordova là gì và nó liên quan như thế nào với PhoneGap?
- 2. Chủ đề CPU là gì và nó liên quan đến các chuỗi logic trong mã như thế nào?
- 3. Scala có liên quan mạnh đến JVM như thế nào?
- 4. Capistrano liên quan đến Rake như thế nào?
- 5. Kiến trúc hướng dịch vụ và phát triển dựa trên thành phần liên quan đến nhau như thế nào?
- 6. Tệp IOR là gì, nó hoạt động như thế nào và nó hoạt động như thế nào?
- 7. [cmdletbinding()] là gì và nó hoạt động như thế nào?
- 8. Ruby và Rails liên quan như thế nào?
- 9. Bí danh là gì và nó ảnh hưởng như thế nào đến hiệu suất?
- 10. Bạn gọi một kiến trúc "Mô hình-Xem-Bộ điều khiển" có liên quan đến GUI (không liên quan đến GUI) là gì?
- 11. "lĩnh vực" trong xác thực IIS là gì và nó liên quan đến thông số chứng chỉ SSL như thế nào?
- 12. Vòng lặp và con trỏ liên quan như thế nào?
- 13. Cách setuptools, distribution và pip liên quan đến nhau như thế nào?
- 14. EJB và JPA liên quan như thế nào?
- 15. Loại VoidTaskResult là gì khi nó liên quan đến các phương thức không đồng bộ?
- 16. Điều gì, chính xác, là 'Ngăn xếp' vì nó liên quan đến .Net
- 17. JAXB và JAXRS là gì? Họ có liên quan với nhau như thê nào?
- 18. Bố cục là gì khi nó liên quan đến thiết kế hướng đối tượng?
- 19. Mã phiên bản và phiên bản gói Android là gì và chúng có liên quan như thế nào?
- 20. RDF và RDFS liên quan như thế nào?
- 21. FLOAT map/liên quan đến NUMBER trong Oracle 10g như thế nào?
- 22. Việc sử dụng java.lang.Class và cách nó liên quan đến đồng bộ hóa phương thức tĩnh là gì?
- 23. Kiến trúc REST chính xác là gì và nó được triển khai như thế nào trong Rails?
- 24. Ý nghĩa của * nix là gì? Và nó có liên quan gì với Ruby?
- 25. các quy tắc liên quan đến chaining của là gì "==" và bằng Python
- 26. Việc đệ quy là gì và nó hoạt động như thế nào?
- 27. Thực tiễn phổ biến liên quan đến sự khác biệt giữa UTC và GMT là gì?
- 28. PHP opcode liên quan đến mã nhị phân thực thi như thế nào?
- 29. Gói SSIS là gì và nó hoạt động như thế nào?
- 30. "Ném" làm gì và nó hữu ích như thế nào?
http://ant.apache.org/ivy/features.html – Bozho