2009-06-23 23 views

Trả lời

9

Tôi đã thấy điều này xử lý trong một số cách khác nhau:

  • Nơi nguồn lực của bạn trực tiếp trong một thư mục con dưới com/dmxio/trò chơi/breakout (ví dụ /com/dmxio/trò chơi/breakout /images/foo.gif và /com/dmxio/games/breakout/images/bar.gif)
  • Đặt nguồn lực của bạn trong một cái lọ cùng với các tập tin lớp học của bạn (ví dụ foo.gif và bar.gif kèm trong breakout.jar)
  • Đặt tài nguyên của bạn vào một ngăn riêng biệt trong một thư mục con trong com/dmxio/games/breakout (ví dụ: 'tài nguyên jar' trong một thư mục con foo.gif và bar.gif gói trong /com/dmxio/games/breakout/images/images.jar)

tôi có xu hướng ủng hộ lựa chọn cuối cùng.

Sau đó, bạn có thể sử dụng phương thức java.lang.Class.getResource() để truy xuất tài nguyên của mình.

15

Bạn luôn có thể áp dụng một cách tiếp cận Maven tiêu chuẩn để dự án của bạn và đặt tất cả các file nguồn ứng dụng trong

{nhà}/src/main/java/com/dmxio/trò chơi/breakout

và sau đó bạn nguồn sống trong

{} nhà/src/main/nguồn/com/dmxio/trò chơi/breakout

kiểm tra của bạn sau đó sống ở:

{} nhà/src/kiểm tra/java/com/dmxio/games/breakout

Cấu trúc này là quy ước chuẩn để cấu trúc các dự án trong thế giới Maven. Nó mang lại rất nhiều lợi thế với nó, mà bạn có thể muốn xem xét. Bạn có thể kiểm tra phần tài nguyên ở đây:

http://maven.apache.org/guides/getting-started/index.html#How_do_I_add_resources_to_my_JAR

Ngoài ra :) cách tiếp cận khác ở đây chỉ là tốt ...

+2

1 Tôi ủng hộ sử dụng Công ước này. Và nó đơn giản hóa mọi thứ nếu một ngày nào đó bạn muốn xây dựng dự án với maven. –

+0

Tôi đồng ý với Andreas_D - cảm ơn thông tin. –

+0

Chắc chắn +1 để gắn bó với quy ước Maven. Đó là một cấu trúc tiêu chuẩn khá, sẽ giúp ích nếu bạn sử dụng Maven, cộng với các nhà phát triển khác sẽ ngay lập tức biết cách điều hướng xung quanh điều này. – mikera

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