2011-12-07 36 views
5

Tôi có một dự án nhiều mô-đun lớn và tôi muốn chỉ định các thông tin SCM cho Maven. Tuy nhiên, mỗi một trong các mô-đun và dự án phụ huynh có một thư mục chuyên dụng trên SVN, do đó, có vẻ như là các thông tin SCM dành riêng cho từng mô-đun.Maven: SCM và các dự án đa mô-đun

Giá trị nào tôi cần sử dụng cho các yếu tố kết nối và nhà phát triểnKết nối? Tôi có cần phải cấu hình SCM cho mỗi mô-đun hoặc nó có thể được cấu hình một lần trong dự án mẹ?

Cảm ơn

Trả lời

5

Tôi đã thử nghiệm hai kịch bản:

  • Xác định cấu hình chỉ ở mức cha mẹ-pom;

  • Xác định cấu hình ở cả cấp độ gốc và cấp độ phụ.

Nếu bạn cố gắng mvn -DdryRun=true release:prepare về dự án pom cha mẹ của bạn, bạn sẽ nhận được một tập tin release.properties đó cho bạn thấy maven cấu hình phát hành sẽ sử dụng nếu nó đã thực sự thực hiện mục tiêu chuẩn bị.

Từ đó, bạn có thể thấy, khi kiểm tra kịch bản đầu tiên mà maven sẽ không gắn thẻ các mô-đun con. Bạn sẽ chỉ thấy một thuộc tính project.scm.[groupId]\:[artifactId].url. Thử nghiệm kịch bản thứ hai, với cấu hình scm cũng được thực hiện ở cấp độ submodule, bạn sẽ nhận được một thuộc tính cho mỗi mô-đun con.

Kết luận của tôi là đối với cấu trúc dự án đa mô-đun phẳng, bạn nên xác định scm ở cả cấp độ phụ huynh-pom và mô-đun, mỗi người chỉ vào thư mục scm nơi pom này nằm.

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