2009-02-06 27 views
5

Maven 2 sử dụng một bố cục tiêu chuẩn thư mục cho các dự án, tài liệu ở đây:Một số quy ước thư mục bổ sung cho dự án Maven là gì?

http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html

Những gì tôi đang tự hỏi là: đang có ước khuyến khích cho các dự án khác ngoài thư viện plain-vani Java, Java EE và WebApp dự án? Cụ thể, nơi đặt các tệp kiến, bắt đầu tập lệnh, tệp cấu hình, ứng dụng mẫu, v.v.

Ngoài ra, quy ước đặt tệp ở bên ngoài cây thư mục/src là gì? Ví dụ, nó là phổ biến để đặt tài liệu theo doc/(như anh chị em của src)?

Có trang nào trong đó các quy ước này được biên soạn không? Nếu không, các độc giả khác có thể đưa ra các ví dụ từ các dự án của riêng họ không?

Trả lời

1

Tôi không nghĩ rằng có một bố trí chính thức cho các ứng dụng máy tính để bàn, nhưng đây là cách bố trí chúng tôi sử dụng cho chúng ta.

  • src/main/config - Định cấu hình tệp, sao chép và lọc thành $ {project.build.directory}/config.
  • src/main/scripts - sh, bat, README và các tệp văn bản thuần khác được sao chép và lọc thành $ {project.build.directory}.
  • src/main/bin - Các tệp nhị phân không được lọc và sao chép vào $ {project.build.directory}.
  • src/main/build - Bất kỳ tập lệnh bổ sung, tệp kiến ​​thức hoặc tài nguyên nào được sử dụng bởi quá trình tạo nhưng không được bao gồm trong ứng dụng.
  • src/main/assembly - Bộ mô tả lắp ráp để tạo lắp ráp ứng dụng.
  • Sao chép các phụ thuộc vào $ {project.build.directory}/lib bằng cách sử dụng plugin phụ thuộc maven.
  • Điểm thưởng nếu bạn sử dụng bình mô tả lắp ráp chung bao gồm thư mục cấu hình và lib cùng với các loại tệp chuẩn để chia sẻ với tất cả các dự án của bạn. Một tập hợp các loại tệp mặc định tốt bao gồm là .sh, .bat và .exe với các quyền thực thi; .jar, .zip, .txt, .pdf, .xml, .properties, .conf, .ico, .png, .jpg với các quyền tiêu chuẩn.
  • Thêm thư mục cấu hình và tiền tố/tiền tố vào đường dẫn lớp bằng cách sử dụng plugin maven-jar để tạo một jar có thể chạy được.
  • Thêm hồ sơ trình cài đặt để xây dựng một bản lắp ráp ứng dụng của bạn bằng cách sử dụng plugin lắp ráp maven và bộ mô tả lắp ráp của bạn. Việc lắp ráp này sau đó có thể được tiêu thụ bởi một dự án cài đặt riêng nếu cần thiết.
  • Tránh đặt bất kỳ thứ gì khác ở cấp src /. Thay vào đó hãy đặt tài liệu bên trong thư mục src/site/(ví dụ: src/site/sphinx) hoặc src/doc nếu bạn thực sự cần.
  • Đặt tất cả cấu hình ở trên trong thư mục gốc/công ty để chia sẻ với tất cả các dự án của bạn. Đơn giản chỉ cần tham khảo phụ thuộc maven, maven-resources, maven-jar, và maven-assembly plugins trong dự án của bạn để xây dựng một ứng dụng hoàn chỉnh với hầu như không có cấu hình (đừng quên thiết lập lớp chính cho plugin maven-jar) .
2

Thư mục chính tôi đặt các tệp cấu hình bổ sung ở dưới src/main/java/resources. Thông thường tôi tạo các thư mục con dưới đó. Các bài kiểm tra có thể có tập tin cấu hình của riêng mình src/test/resources.

Bạn có thể sử dụng chỉ thị trong phần xây dựng của tệp pom.xml để chỉ định thư mục tài nguyên bổ sung và nơi sao chép tệp vào các địa điểm cụ thể trong thư mục đích. Thông thường, một quy ước phát sinh cho ngôn ngữ hoặc khung mà bạn đang cố gắng sử dụng. Trong trường hợp mà sự lộn xộn có thể được ẩn trong một pom.xml mẹ

Xem http://maven.apache.org/pom.html#Resources

+4

Xin lưu ý rằng các thư mục tài nguyên đó thường bị làm mờ bởi maven. Đây có thể không phải là hành vi mong muốn đối với các tệp thuộc tính có thể định cấu hình của người dùng hoặc bắt đầu tập lệnh. – Kevin

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