繁体   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