У меня небольшое Java-приложение для имитации каких-либо транзакций.
У меня есть статические ресурсы в src/main/resources
, я использую Gradle для создания исполняемого толстого фляги с плагином Java.
Вопрос: Каков наилучший способ доступа к ресурсам из кода?
Именно так я пытаюсь это сделать.
ClassLoader loader = Thread.currentThread().getContextClassLoader();
URL url = loader.getResource(folder);
String path = url.getPath();
- Ошибка , когда я запускаю
java - jar/build/libs/my.jar
из корня приложения для выполнения, он работает нормально и находит ресурсы правильно, так как файлы находятся в папке build\resources
. - Если я сделаю это из другой директории, то он возьмет относительный путь из этой директории, следовательно, он не найдет необходимые ресурсы.
Некоторые общие ответы о том, как обрабатывать ресурсы Java.правильно было бы просто здорово.Чтобы иметь возможность выполнять jar из любого места.
По сути, это хорошая идея иметь автономный jar, который будет одновременно содержать ресурсы и зависимости.Если да, как это сделать правильно с Gradle?