Saya menggunakan maven 2.1.0 dan memiliki proyek dengan banyak modul. Contoh modul:
- sumber daya spr
- spr-umum
spr-common memiliki ketergantungan pada sumber daya spr
spr-resources hanya berisi file, tidak ada kelas.
spr-common memiliki junit yang perlu memuat file dari jar spr-resources.
Saya menggunakan:
String fileName = getClass().getResource("/jaskeyfile.3DES").getFile();
is = getClass().getClassLoader().getResourceAsStream(fileName);
is.read(data);
Dan ini berfungsi ketika saya menjalankan tes di IntelliJ, tetapi ketika saya melakukan tes mvn, gagal dengan NullPointerException ketika saya mencoba melakukan read() di atasnya.
Mengapa ini terjadi? Seharusnya membaca file dari ketergantungan dengan baik.
Selain itu, pom.xml di spr-common memiliki ketergantungan pada sumber daya spr (mencoba keduanya dengan uji cakupan dan tanpa itu)
EDIT: Saya juga mencoba
getClass().getClassLoader().getResourceAsStream("/jaskeyfile.3DES");
tanpa hasil.
EDIT2: File yang diberikan ada di toples yang dihasilkan, jadi menurut saya file tersebut harus dapat diakses.
InputStream is = getClass().getResourceAsStream("/java/pkg/with/your/file/filename.txt");
? Apakah ketergantunganspr-resources
benar-benar ditentukan dalam filepom.xml
dan tidak hanya di IDE Anda? Aliran yang dikembalikan adalahnull
jika sumber daya tidak ditemukan di CLASSPATH. Sunting: Apakah file tersebut benar-benar ada dispr-resources
di direktorisrc/main/resources/java/pkg/with/your/file/filename.txt
? - person Jiri Patera   schedule 07.12.2010