ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
URL url = classLoader.getResource("com/x/y/z.cfg");
File file = new File(url.getPath());
Это работает при запуске файла jar из Eclipse, но не работает при запуске в файле jar.
java.io.FileNotFoundException: файл:\C:\Users\nova\Desktop\Matcher.jar!\c om\x\y\z.cfg
Это не дубликат. Я проверил все остальные вопросы, никакой полезной информации.
File
, когда он у тебя есть? Вы не можете создатьFile
изURL
, которое вы получаете для ресурса в JAR (поскольку это не URL-адресfile:
, обычно этоjar:file:/path/to/file.jar!/com/x/y/z.cfg
), но если используемый вами API может приниматьURL
илиInputStream
вместоFile
тогда не надо. - person Ian Roberts   schedule 31.10.2014