2010-10-07 23 views
6

Khách hàng của tôi cần có khoảng không quảng cáo có tổ chức hơn của tất cả thư viện của bên thứ ba (chẳng hạn như tệp JAR) được sử dụng trong sản xuất cho dự án của họ. Tôi tham gia với một số dự án dựa trên Java của họ. Hàng tồn kho của họ đã không được duy trì liên tục trong quá khứ và thời gian đã đến với tất cả các thư viện hiện đang được sử dụng (có một số ít) và thực thi một quy trình có cấu trúc để giới thiệu các thư viện mới vào môi trường xây dựng.Cần tài liệu thuyết trình để thuyết phục khách hàng sử dụng Maven

Tôi đã cố gắng bày ý tưởng sử dụng Maven và Artifactory trong quá trình xây dựng để tận dụng khả năng quản lý kho lưu trữ thư viện nhị phân và xử lý các phụ thuộc thư viện chuyển tiếp. Khách hàng chống lại đề nghị này bởi vì họ nghĩ rằng nó sẽ tạo ra nhiều công việc hơn cho họ để duy trì một máy chủ Artifactory và tìm hiểu những điều cơ bản về Maven.

Hiện tại, các dự án Java của chúng đều được xây dựng bằng cách sử dụng tập lệnh Ant. Phụ thuộc transitive phần lớn được quản lý bởi trial-and-error. Việc kiểm kê các thư viện hiện đang được sử dụng được duy trì bằng tay và các tệp nhị phân được lưu trữ trong một kho lưu trữ Subversion. Khách hàng nhận ra rằng điều này cần phải được cải thiện, nhưng các đề xuất cải tiến hiện tại liên quan đến các phương pháp tiếp cận "quản lý nó bằng tay" đặc biệt hơn.

Tôi muốn thuyết phục khách hàng rằng sự kết hợp giữa Maven và Artifactory là giải pháp khả thi có sẵn cho các nhu cầu quản lý thư viện Java của họ. Bất cứ ai có thể hướng dẫn tôi đến các tài liệu/tài liệu mà tôi có thể sử dụng để tạo một bài thuyết trình cho khách hàng của tôi về các tính năng và thế mạnh của Maven và Artifactory không?

Bất kỳ đối số/đề xuất/v.v ... nào khác sẽ hỗ trợ tôi trong vấn đề này cũng sẽ được đánh giá cao.

+0

Không phải là câu trả lời, nhưng tôi có thể tranh cãi rằng Maven đã làm cho dễ dàng hơn việc quản lý thư viện ở đây sooo nhiều. Ngoài ra chỉ với một cú nhấp chuột và bạn có thể cập nhật tất cả các thư viện cần thiết cho dự án của bạn ... chúc may mắn –

+0

Chỉ cần lưu ý rằng Maven là * không nhất thiết * một giải pháp kệ cho các bản dựng hiện có sử dụng ANT. Tùy thuộc vào độ phức tạp của việc xây dựng và những gì đang được thực hiện trong ANT có thể có yêu cầu tích hợp đáng kể. –

+0

Tôi vừa mới bắt đầu đọc về một dự án Apache có tên "Ivy" có quản lý phụ thuộc và được dự định sẽ được sử dụng với Ant. Tôi sẵn sàng khám phá đó như một giải pháp nếu nó có thể cung cấp các tính năng quản lý phụ thuộc tương tự như Maven. –

Trả lời

8

Tôi muốn thuyết phục khách hàng rằng sự kết hợp giữa Maven và Artifactory là giải pháp khả thi có sẵn cho các nhu cầu quản lý thư viện Java của họ.

Như đã chỉ ra trong một chú thích, khách hàng của bạn không nhất thiết cần phải áp dụng đầy đủ Maven để được hưởng lợi từ quản lý phụ thuộc, bạn có thể thích ứng với các kịch bản kiến ​​hiện có để sử dụng Maven Ant tasks hoặc Ivy. Điều này có thể ít đáng sợ hơn và đã loại bỏ một số cơn đau.

Về cách Maven quản lý phụ thuộc, tôi sẽ chỉ đơn giản giải thích rằng:

  • Một vật được xác định bởi tọa độ (groupId, artifactId, phiên bản).
  • Điều này cho phép lưu trữ chúng bằng cách sử dụng cấu trúc thư mục chuẩn (kho)
  • Phụ thuộc nhiều hơn một JAR: đó là một JAR với POM cho phép những thứ như độ phân giải phụ thuộc transitive.

Và những lợi ích của một giải pháp quản lý sự phụ thuộc đó là:

  • không gây rối với phụ thuộc, họ đang xác định duy nhất (không còn phải "phiên bản nào vậy?"Hội chứng)
  • dữ liệu không nhị phân ở những VCS (thanh toán nhanh hơn, ít không gian)
  • dễ dàng tái sử dụng các đồ tạo tác giữa các dự án (không lọ gửi qua email)
  • dễ dàng quản lý với độ phân giải phụ thuộc bắc cầu

Và bởi vì bạn không muốn dựa vào kho công cộng, bởi vì bạn cần phải lưu trữ hiện vật của riêng bạn, bạn cần một kho lưu trữ doanh nghiệp lựa chọn cá nhân của tôi sẽ là Nexus:.

  • vì nó tập tin dựa (không giống như Artifactory, và tôi không muốn đưa hiện vật của tôi trong một cơ sở dữ liệu)
  • vì nó đơn giản để cài đặt/sử dụng
  • bởi vì nó dễ dàng để quản trị

Dưới đây là một số tài nguyên về Nexus (xin lỗi, tôi chỉ không sử dụng Artifactory):

Và chỉ trong trường hợp, sau đây là một số tài liệu trình bày về Maven:

+0

Cảm ơn Pascal, điều này chắc chắn sẽ giúp bạn! –

+0

@Jim Tough: Bạn được chào đón. Và chúc may mắn. –

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