У меня есть проект Maven и внутри метода я хочу создать путь для каталога в моей папке ресурсов. Это делается следующим образом:
try {
final URI uri = getClass().getResource("/my-folder").toURI();
Path myFolderPath = Paths.get(uri);
} catch (final URISyntaxException e) {
...
}
Сгенерированный URI
выглядит как jar:file:/C:/path/to/my/project.jar!/my-folder
.
Элемент stacktrace выглядит следующим образом:
Exception in thread "pool-4-thread-1" java.nio.file.FileSystemNotFoundException
at com.sun.nio.zipfs.ZipFileSystemProvider.getFileSystem(ZipFileSystemProvider.java:171)
at com.sun.nio.zipfs.ZipFileSystemProvider.getPath(ZipFileSystemProvider.java:157)
at java.nio.file.Paths.get(Paths.java:143)
URI
представляется действительным. Часть перед !
указывает на сгенерированный jar файл и часть после него на my-folder
в корневом каталоге архива. Ранее я использовал эти инструкции для создания путей к моим ресурсам. Почему теперь я получаю исключение?