У меня есть проект Maven A (упакованный как pom), содержащий проект модуля Maven B (упакованный как jar). Проект B также физически находится в root проекта A.
Когда строится B, плагин косвенно использует мой код (внутри B) для доступа к файлу свойств в своем расположении src / main / resources.
Когда я собираю проект B напрямую (mvn clean install), код может легко найти этот файл с помощью new File("src/main/resources/foo.properties");
Однако, когда я пытаюсь собрать проект A, он сначала попытается собрать модуль B, и в этом случае он не может найти файл свойств.
Помимо варианта «Новый файл», я пытался использовать this.getClass().getClassLoader().getResourceAsStream("src/main/resources/foo.properties");
и пытался использовать Spring:
Resource resource = new ClassPathResource("src/main/resources/foo.properties");
Оба также с префиксом "/". Но файл просто не может быть найден.
Почему это? Может быть, он ищет файл в root из A? Можно ли найти файл в модуле B при сборке A?
Спасибо!