[英]JAR file running from another directory?
我用Java程序創建了一個JAR文件。 這段代碼將在目錄“ Test”中打開一些文件,該目錄與JAR文件位於同一目錄中。 像這樣:
/
-- program.jar
-- /Test
-- *
如果我通過終端運行:java -jar program.jar,它運行完美。 但是,如果我以圖形方式運行(右鍵單擊jar文件並使用OpenJDK打開...),它將無法正常工作。 就像我從另一個目錄運行一樣。
當我以圖形方式運行JAR文件時,它是否可能從另一個目錄運行?
順便說一句,我正在Ubuntu上運行。
是的,您將獲得另一個當前的工作目錄......將有兩個解決方案:
1)通過這個hack找到cwd:
public class Test {
public static void main(String... args) {
ClassLoader cl = Test.class.getClassLoader();
String f = cl.getResource("").getFile();
File cwd = new File(f);
if (cwd.toString().endsWith("!"))
cwd = cwd.getParentFile();
JOptionPane.showMessageDialog(null, cwd);
}
}
2)如果Test
下的文件是靜態的(不經常更改),解決方案是將它們打包到jar中。
我不確定這是否會有所幫助,但下面是類似JAR問題的鏈接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.