Зависимость и ресурсы модуля Maven

У меня есть проект maven Project Project Project, и есть класс, который говорит ClassA в этом проекте, который использует файлы из папки ресурсов, я использую следующий способ чтения с ресурса:

String fileName = IPToGeoMapper.class.getResource("/resourceFile.txt").getFile();
File resourceFile = new File(fileName);

и это работает как шарм.

Теперь, когда я создаю артефакт из этого проекта (я попытался извлечь созданный банку, и у него есть файл resourceFile.txt, упакованный в банку), и использовать это как зависимость в другом проекте, говорят ProjectB, ClassA больше не находит resourceFile.txt поскольку он пытается просмотреть папку ресурсов ProjectB.

Я хочу лучшее глобальное решение, которое будет работать во всех проектах, где я импортирую артефакт, созданный из ProjectA. Каков наилучший способ справиться с этим?

1 ответ

Попробуйте это, я беру пример чтения файла свойств.

Properties propfile = new Properties(); propfile.load(PropertyUtils.class.getClassLoader().getResourceAsStream( "applicationprops.properties"));

BufferedReader reader = new BufferedReader(new InputStreamReader(ClassA.class.getClassLoader().getResourceAsStream("file.txt"))); StringBuilder out = new StringBuilder(); String line; while ((line = reader.readLine()) != null) { out.append(line); } System.out.println(out.toString());//Prints the string content read from input stream reader.close();

licensed under cc by-sa 3.0 with attribution.