[英]Gradle - Launch4j - Current Working Directory
我正在使用 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 = ''
}
本期討論
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.