Я создаю exe-файл с помощью плагина Launch4j в Gradle. Мое намерение состоит в том, чтобы получить каталог, где я нахожусь при выполнении исполняемого файла, который находится в другом каталоге. Например, exe-файл находится в «C: \ Utilities», а мой текущий каталог - «C: \ temp». Когда я выполняю «C: \ Utilities \ my.exe», я хотел бы получить «C: \ temp» в моем основном методе.
Я пытался отправить результат% CD% как системное свойство -
createExe {
mainClassName = 'com.eldho.mp3tools.Mp3ToolsMain'
jvmOptions = ['-Dworking.dir="%CD%"']
}
Но в моем методе ничего не получается.
Я тоже попробовал это внутри метода -
Path currentRelativePath = Paths.get("");
String s = currentRelativePath.toAbsolutePath().toString();
logger.info("Current relative path is: " + s);
Это дает каталог, в котором находится исполняемый файл (C: \ Utilities).
Любая помощь приветствуется.