gpt4 book ai didi

java - Gradle-Launch4j-当前工作目录

转载 作者:行者123 更新时间:2023-12-03 05:40:35 32 4
gpt4 key购买 nike

我正在Gradle中使用Launch4j插件创建一个exe文件。我的意图是在执行放置在另一个目录中的exe文件时获得我所在的目录。例如,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);

这给出了exe文件所在的目录(C:\ Utilities)。

任何帮助表示赞赏。

最佳答案

一种可能的解决方案是“清空” Launch4j配置的chdir属性,默认情况下它使用“。”。但这仅在包装器启动您的Jar文件后才会解释。

launch4j {
mainClassName = 'com.eldho.mp3tools.Mp3ToolsMain'
chdir = ''
}
在此 issue中讨论

关于java - Gradle-Launch4j-当前工作目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53271782/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com