Я использую maven 2.1.0 и имею проект с несколькими модулями. Примеры модулей:
- spr-ресурсы
- spr-общий
spr-common зависит от spr-ресурсов
spr-resources содержит только файлы, без классов.
У spr-common есть junit, в который нужно загрузить файл из jar-файла spr-resources.
Я использовал:
String fileName = getClass().getResource("/jaskeyfile.3DES").getFile();
is = getClass().getClassLoader().getResourceAsStream(fileName);
is.read(data);
И это работает, когда я запускаю тест в IntelliJ, но когда я делаю тест mvn, он терпит неудачу с NullPointerException, когда я пытаюсь выполнить для него read().
Почему это происходит? Он должен нормально читать файл из зависимости.
Также pom.xml в spr-common имеет зависимость от spr-resources (пробовал как с проверкой области, так и без нее)
РЕДАКТИРОВАТЬ: я тоже пробовал
getClass().getClassLoader().getResourceAsStream("/jaskeyfile.3DES");
без везения.
EDIT2: данный файл существует в полученном банке, поэтому я думаю, что он должен быть доступен.
InputStream is = getClass().getResourceAsStream("/java/pkg/with/your/file/filename.txt");
? Действительно ли зависимостьspr-resources
определена в файлеpom.xml
, а не только в вашей среде IDE? Возвращаемый поток —null
, если ресурс не был найден в CLASSPATH. Изменить: действительно ли файл находится в каталогеspr-resources
в каталогеsrc/main/resources/java/pkg/with/your/file/filename.txt
? - person Jiri Patera   schedule 07.12.2010