java - 设置主目录或工作目录

标签 java

我有一个 java 应用程序并将其打包为 App.jar。我使用了一些第三方工具(我们称之为 NumberGenerator)。 App.jar 启动一个进程并调用 NumberGenerator 以获取输出。为了引用可执行文件,我使用了相对路径 new File("lib/NumberGenerator.exe") 并且一切正常。

现在在 Mac 上,我已经使用 this 捆绑了应用程序它会自动生成一个应用程序启动器。当我通过单击启动器运行时,它会启动应用程序。但它将主目录设置为 ~/Users/Jatin 而不是 jar 文件所在的位置。因此我的应用程序无法检测到 lib 文件夹(显然是因为它不在那个位置)

在我的 Java 代码中,如何将主文件夹设置为我的 jar 所在的位置?

最佳答案

return new File(MyClass.class.getProtectionDomain().getCodeSource().getLocation().getPath());

只需查看此线程 How to get the path of a running JAR file?

关于java - 设置主目录或工作目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15333476/

相关文章:

java - 如何锁定已编译的 Java 类以防止反编译?

java - azure 逻辑应用程序请求触发器 url 无法在 RestTemplate java 中工作,但在 postman 中工作

java - 方法重载和选择最具体的类型

java - 什么时候可以增加 jvm (-Xss) 的最大堆栈大小?

java - Font 类的三参数构造函数

java - 引用jar/war文件外的类

java - 如何在 Eclipse 中打开这个 Spring 项目?

java - 为什么相机在 Android 5 中无法使用?

java - 通过selenium java下载验证码

java - 使用 spring batch 3.0.0 jar 时 'JOB_CONFIGURATION_LOCATION' 中的未知列 'field list'