Для 4 вы можете попробовать это. Получить путь к классу:
String classpath = System.getProperty("java.class.path");
Затем найдите в нем имя вашего приложения jar:
int jarPos = classpath.indexOf("application.jar");
Разобрать путь, ведущий к нему:
int jarPathPos = classpath.lastIndexOf(File.pathSeparatorChar, jarPos) + 1;
String path = classpath.substring(jarPathPos, jarPos);
Затем добавьте MyApp.properties
. Обязательно проверьте jarPos == -1
, что означает, что jar не найден, если classpath (возможно, при работе в вашей среде разработки).