[英]How to set class path in Config.ini file of a eclispe RCP product using -vm argument in linux
[英]How to set path of a config.ini file in a Runnable Jar?
我正在用Java做一個程序,該程序將在可運行的JAR中導出,並在Windows中使用YAJSW作為服務執行,我必須讀取config.ini
文件,該文件具有重要的執行參數,但是我要設置一個固定值路徑:
Path configFile = Paths.get("D:\\Folder\\config.ini");
問題是我不知道最終用戶PC上將執行該路徑的路徑。 我嘗試了這個:
Path txtParametro = Paths.get("\\config.ini");
因為.ini文件將位於.jar的同一文件夾中,但沒有用。
有人對我該如何處理有任何想法?
我想到了環境變量……但必須手動執行,這不是一種選擇。
您可以將文件設置為在特定位置創建,以便程序始終知道其位置:
File file = new File("D:\\Folder\\config.ini");
if (!file.exists()){
file.createNewFile();
}
問候,托馬斯
如果文件是JAR的一部分,則可以這樣加載:
Class.getResourceAsStream( “config.ini中”);
如此處所述:
如果不在JAR中,請告知我們。
通過以下方式找到了解決方案:
假設config.ini
位於.jar的同一文件夾中
File pathJAR = new File(Main.class.getProtectionDomain().getCodeSource().getLocation().toURI());
它返回運行jar的路徑"D:\\Folder\\name.jar"
,然后將“ name.jar”替換為“ config.ini”。
不那么美麗,但可以。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.