2010-05-29 29 views
5

Tôi đã sử dụng Maven rộng rãi cho các dự án cá nhân của mình, nhưng bây giờ tôi phải thiết lập nó cho một nhóm nhỏ gồm 5-7 nhà phát triển.Thiết lập Maven cho một đội

Câu hỏi chính của tôi là, cách tiếp cận được khuyến nghị để quản lý phụ thuộc vào thư viện thương mại không có sẵn trong repo Maven là gì? Làm thế nào tôi có thể quản lý sự phụ thuộc của các thư viện thương mại này trên các thư viện nguồn mở mà họ sử dụng và có sẵn trong repo Maven?

Ngoài ra, có bất kỳ đề xuất và lời khuyên nào khác mà tôi nên biết hoặc thực hiện để thiết lập hiệu quả, hiệu quả và mượt mà nhất có thể không?

Xin cảm ơn trước.

+0

câu trả lời trước của tôi về việc thành lập một repo maven có thể hữu ích quá http://stackoverflow.com/questions/1039362/tips-for-maintaining-an-internal-maven-repository/1650403#1650403 – sal

+0

thêm tag maven-2 như maven ngụ ý maven 1 –

Trả lời

5

Bạn có thể muốn bắt đầu bằng cách thiết lập kho lưu trữ Maven nội bộ của riêng mình bằng Nexus hoặc Artifactory. Cấu hình nó như là một kho lưu trữ cho các tạo phẩm của riêng bạn, và như một proxy lưu trữ cho Central và bất kỳ kho lưu trữ bên ngoài nào khác mà bạn cần tìm nạp các công cụ từ đó.

Sau đó, tạo tệp nhị phân duy nhất cho mỗi thư viện thương mại, bao gồm cả phụ thuộc vào thư viện đã xuất bản mà chúng phụ thuộc vào. Tải lên các tệp POM và các tệp JAR tương ứng vào kho lưu trữ nội bộ của bạn trong cấu trúc được yêu cầu. Chỉ cần đảm bảo rằng các POM và JAR này không hiển thị bên ngoài nhóm/tổ chức của bạn ... tùy thuộc vào giấy phép cho các sản phẩm thương mại tương ứng cho phép/yêu cầu.

Tất nhiên, điều này có nghĩa là bạn sẽ không thể làm cho các ứng dụng của bạn (phụ thuộc vào các thư viện này) có sẵn công khai qua Maven. Nhưng bạn có lẽ đã thừa nhận điều này trong kế hoạch của bạn.

+0

Bạn ** có thể ** tạo ứng dụng của bạn công khai nhưng người tiêu dùng của bạn sẽ cần phải thêm POM + JAR riêng vào kho lưu trữ của riêng họ (hoặc proxy) giống như bạn đã làm. –

+0

@ Chris - đã đồng ý, nhưng đó là ** NHIỀU ** để yêu cầu người tiêu dùng phần mềm của bạn! –

+0

Cảm ơn. Bất kỳ lời khuyên và khuyến nghị nào khác? – Behrang

4

tôi khuyên sử dụng một siêu parent pom với một số cài đặt thông thường như

   <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <inherited>true</inherited> 
       <configuration> 
        <source>1.6</source><!-- java version --> 
        <target>1.6</target> 
        <encoding>UTF-8</encoding><!-- your source encodings --> 
        <debug>true</debug><!-- false for production --> 
        <optimize>false</optimize><!-- true for production --> 
        <showDeprecation>true</showDeprecation> 
       </configuration> 
      </plugin> 

thực sự có rất nhiều những thiết lập "chung" (plug-in báo cáo), một khoản bảo lãnh cha mẹ pom rằng tất cả sử dụng giống nhau và một thay đổi đạt tất cả

cũng những gì khác - bên cạnh repo maven riêng (thử nexus) -?

  • kiểm tra sử dụng IDE, Eclipse, Netbeans và IntelliJ có mức độ khác nhau của sự ủng hộ maven và hành vi buồn nhưng là sự thật khác nhau, nếu bạn có thể, có nhóm của bạn để sử dụng một IDE
  • suy nghĩ về một xây dựng máy chủ như hudson
Các vấn đề liên quan