Я могу запросить URL-адрес для файла jar или каталога классов, где Java загружает класс из:
Class clazz = ...
URL url = clazz.getProtectionDomain().getCodeSource().getLocation();
, но как правильно преобразовать его в File
(или Path
) - особенно в отношении некоторых символов пути в URL-адресах? Я пробовал это:
String fileName = URLDecoder.decode(url.getFile(), "UTF-8");
File jarFileOrClassesDir = new File(fileName);
, но это вызывает проблемы, если внутри пути есть +
(+
заменяется пробелом).