Как получить абсолютный путь к ресурсу в подключаемом модуле maven?

Имеется два maven модуля. Структура у них примерно следующая:

first-module
│
├─pom.xml
│
└─src
  │
  └─main
    │
    └─resources
      │
      └─first.xsd


second-module
│
├─pom.xml  <-- здесь подключается first-module
│
└─src
  │
  └─main
    │
    ├─java
    │ │
    │ └─com.example.second
    │   │
    │   └─JaxbUtil.class
    │
    └─resources
      │
      └─second.xsd

Класс JaxbUtil внутри second-module:

@UtilityClass
public class JaxbUtils {

    private static File getXsdFileFromResourceFolder(String xsdFileName) {
        final Path resourceDirectory = Paths.get("src", "main", "resources");
        final String xsdFilePath = 
            String.format("%s/%s", resourceDirectory.toFile().getAbsolutePath(), xsdFileName);
        return new File(xsdFilePath);
    }
}

Метод getXsdFileFromResourceFolder возвращает File переданной схемы. Например, если я передам в этот метод такую строку:

second.xsd

, то он вернёт мне файл по такому пути:

D:/my_project/second-module/src/main/resources/second.xsd

, и это будет действительно валидный путь.

Мой вопрос следующий: каким образом я могу указать путь к схеме first.xsd, которая находится в подключаемом модуле? Ведь очевидно, что путь D:/my_project/second-module/src/main/resources/first.xsd будет невалиден.


Ответы (0 шт):