2010-06-24 36 views
7

Tôi có một chương trình sử dụng getClass().getClassLoader().getResource() để có được một URL vào một thư mục, nó hoạt động tốt khi trong nhật thực, nhưng sau khi jared, nó trả về null.Làm thế nào để làm cho maven "thêm mục thư mục" khi đóng gói?

Theo url này: http://www.coderanch.com/t/385935/java/java/getResource-path-fails-Jar

Vấn đề kết quả bởi vì con đường chính nó đã không tồn tại trong jar. Các tệp có đường dẫn đã tồn tại, nhưng không phải là đường dẫn chính nó. Tôi đã sử dụng lệnh xuất khẩu "Runnable JAR File" trong Eclipse. Khi tôi thử xuất khẩu cũ hơn "Jar File" để tạo bình, tôi nhận thấy một hộp kiểm cho "thêm thư mục mục" và đó là giải pháp. Tệp Jar cần thư mục mục nhập của chính nó trong jar cho getResource() để trả lại URL cho đường dẫn.

Nhưng trong maven, tôi không thể tìm thấy lệnh như vậy để "thêm mục nhập thư mục" khi đóng gói, ai đó có thể gợi ý cho tôi không? Cảm ơn rất nhiều !

Env: eclipse 3.5, m2eclipse, maven 2.2.1

+0

bạn có thể thêm cấu trúc dự án và đường dẫn đến tệp bạn đang cố gắng truy cập không? –

Trả lời

0

Nếu bạn sử dụng một tiêu chuẩn cấu hình maven 2, thư mục và các tập tin sẽ được đặt dưới src/main/nguồn lực. Nếu chúng ở nơi khác, bạn phải xác định nguồn tài nguyên của bạn ở đâu.

<build> 
    <resources> 
     <resource> 
     <directory>path to my resources</directory> 
     </resource> 
    </resources> 
+0

Cảm ơn bạn, nhưng có vẻ như không hoạt động ... có thể đó là vấn đề về trình nạp lớp của máy chủ ... (Resin) – smallufo

0

bạn cần bao gồm bộ mô tả lắp ráp và tạo thư mục.

+0

Xin chào, bạn có thể cụ thể hơn không? – smallufo

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