2009-06-04 30 views
13

Có cách nào tốt nhất để lưu các tệp cấu hình vào một dự án Java hay không. Loại tệp là tệp thuộc tính Java trong trường hợp này, nhưng tôi sử dụng các loại tệp khác trong các dự án khác.Thực hành tốt nhất cho vị trí của tệp cấu hình ứng dụng Java là gì?

Đề xuất có thay đổi từ ứng dụng độc lập (.jar) sang ứng dụng web (.war) không?

+0

Bạn có muốn thay đổi cấu hình sau khi bạn xây dựng hay bạn muốn cấu hình là một phần của tệp .jar/.war mà bạn xây dựng? – ScArcher2

+0

@ ScArcher2, để phát hành sản phẩm của chúng tôi xung quanh ở đây chúng tôi đã đưa ra yêu cầu phát hành, vì vậy việc thay đổi tệp cấu hình cũng giống như nhiều rắc rối khi thực hiện toàn bộ tệp gói. Vì vậy, tôi đã đến để thích giữ cấu hình trong gói –

Trả lời

8

Bạn sẽ thấy rằng nhiều các dự án mã nguồn mở theo số directory structure used by Maven. Trong thiết lập này, mã nguồn ứng dụng của bạn được lưu giữ trong src/main/java, tài nguyên ứng dụng, bao gồm các tệp thuộc tính, trong src/main/resources và các tệp cấu hình khác trong src/main/config. Các tệp liên quan đến kiểm tra đơn vị sử dụng cấu trúc thư mục tương tự; src/test/java và src/test/resources.

Cá nhân tôi có xu hướng sử dụng bố cục này do sử dụng rộng rãi. Tôi cũng giữ một thư mục "etc" bên dưới gốc của dự án thành các tệp nhà không liên quan trực tiếp đến ứng dụng. Ví dụ: tôi giữ các tệp cấu hình cho PMD và Checkstyle ở v.v.

4

Thông thường, thực hành chung là có thư mục resources cho các tệp cấu hình được sao chép vào tạo phẩm xây dựng theo quy trình xây dựng. Maven sử dụng điều này trong số default project structure. Trong thư mục resources, bạn cũng có thể có một thư mục META-INF và/hoặc một thư mục WEB-INF trong một ứng dụng được đóng gói như một cuộc chiến tranh.

1

tôi sử dụng:

  • META-INF/ cho jar file
  • WEB-INF/ cho chiến tranh file
+0

Siêu dữ liệu trên đường dẫn lớp mặc định? –

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