簡體   English   中英

從另一個目錄運行JAR文件?

[英]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問題的鏈接。

在另一個目錄中運行包含源文件的jar文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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