Я пытаюсь программно найти полный путь к файлу JAR во время его работы. Я знаю, что есть ряд других вопросов по этому поводу, но ни один из них, похоже, не работает для меня - в первую очередь, я наткнулся на
MyClass.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath()
несколько раз. Этот конкретный метод работает для меня при отладке в Eclipse, но после компиляции в jar он возвращает исключение NullPointerException. Другие методы столкнулись с подобными проблемами после компиляции.
У меня есть временный обходной путь с использованием java.class.path, но он возвращает полный путь, только когда я выполняю jar из графического интерфейса пользователя - в терминале это не удается.
Я также должен отметить, что единственная система, на которой у меня эта проблема, - это Linux. На Windows и Mac у меня нет проблем.
Любая помощь будет оценена :)
Спасибо!
Derek
РЕДАКТИРОВАТЬ: JAR исполняемый, если это что-то меняет.