【问题标题】:Setting Project working directory in Eclipse when working with relative paths [duplicate]使用相对路径时在 Eclipse 中设置项目工作目录 [重复]
【发布时间】:2018-02-01 13:58:17
【问题描述】:

我有一个工作区,用于保存我在 Eclipse 中工作的所有 java 项目。 我们称之为D:\Workspace\。我在所述工作区中有一个项目,可以说是:D:\Workspace\DoubleDotting\

在上述Java项目中,在main方法中,我通过以下方式创建了一个文件对象:

File doubleDotted = new File("..\Folder1\file.xyz");

在将程序作为可运行 Jar 导出到 D:\Projects\DoubleDotting\Folder2\ 的那一刻,程序执行得很好,因为 D:\Projects\DoubleDotting\Folder1\file.xyz 存在。

但是D:\Workspace\DoubleDotting\Folder1\ 中不存在file.xyz,所以很自然地,当从 Eclipse 运行/调试程序时,我会得到一个FileNotFoundException

使用相对路径,在处理可以应用于具有相似工作结构的多个目录的通用程序时,可以节省大量时间,但是在 Eclipse 中进行调试是一件令人头疼的事情。

有没有办法在 Eclipse 中虚拟更改项目的工作目录,或者是在项目目录中创建此类文件夹/文件的懒惰选项,这是在 Eclipse 中运行/调试的唯一解决方案?

【问题讨论】:

标签: java eclipse relative-path


【解决方案1】:

让我们聪明一点。如果您只想在项目的根目录中创建简单的类,您可以简单地看到 .(current directory) 指向的位置。 例如

public static void main(String[] args) {
    System.out.println(new File(".").getAbsolutePath());
}

这将从运行时的角度向您显示当前目录的位置。在此基础上构建您的相对路径。

【讨论】:

  • 确实如此。我正在使用类似的解决方法:.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath(),但是,我认为您的解决方案可能更聪明。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-27
  • 1970-01-01
  • 1970-01-01
  • 2023-03-05
  • 2016-11-02
  • 2010-11-27
相关资源
最近更新 更多