簡體   English   中英

Gradle - Launch4j - 當前工作目錄

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM