Tôi đang cố gắng để chạy các ứng dụng sau đó cố gắng để tải một tập tin (src/main/resources/test.txt
) từ classpath:Làm thế nào tôi có thể thêm src/main/nguồn lực để classpath khi sử dụng exec mvn: java
package com.example;
public class Main {
public static void main(String[] args) {
System.out.println(Main.class.getResource("test.txt"));
}
}
Khi tôi làm mvn exec:java -Dexec.mainClass=com.example.Main
, tôi nhận được null
được in trên dòng lệnh.
Vậy làm cách nào để nhận tệp trong src/main/resources được thêm vào đường dẫn lớp? Lưu ý rằng tôi đã chạy mvn package
, đã kiểm tra số đã tạo target/test.jar
và xác nhận rằng nó bao gồm test.txt
ở cấp cao nhất.
Nếu bạn đặt test.txt vào com/example gói nó sẽ không làm việc. Để làm việc đó một cách chính xác, bạn cần đặt test.txt vào src/main/resources không có gì khác. – khmarbaise
OK. Tôi nghĩ bây giờ tôi đã hiểu. Vì vậy, 'getResource' giải thích đường dẫn liên quan đến cá thể của lớp (vì vì' Main' nằm trong 'com.example', tôi đã vô tình tìm kiếm' src/main/resources/com/example/test.txt' thay vì 'src/main/resources/test.txt') – user1930555
Câu trả lời thú vị. Tôi đã tự hỏi bản thân mình. – ktm5124