2

我有 2 个属性文件,它们是我的 java eclipse 项目的一部分。现在我需要将这两个文件的路径作为系统属性传递,就像-Dpath1="pathfile1"项目只会接受它作为系统属性一样。一种选择是我可以指定绝对路径,但我想指定相对于我的项目的路径,例如-Dpath1=$Project_Dir/resource/file1. 原因是,如果项目目录被移动,那么项目将开始失败。

我正在使用 eclipse 来运行这个项目,并且不想声明任何新的系统变量来支持相对路径,所以例如不想创建一个新的系统变量Project_Dir。是否有可能实现这一目标以及如何实现?

4

3 回答 3

3

您可以使用以下方式设置系统属性:

System.setProperty("path1", yourPathHere);

现在,您只需要构建正确的路径,相对于您的项目所在的位置。为此,请从项目的位置开始:如何获取正在运行的 JAR 文件的路径?

于 2013-11-04T15:21:16.580 回答
1

使用时setProperty,如果使用纯相对路径,则可以引用内部项目文件。

例如引用位于 /abc/def/workspace/project/lib/driver.exe 的文件:

System.setProperty("driver", "lib/driver.exe");

这很简单。

于 2016-11-23T23:43:22.947 回答
0

是的,你可以做到。Eclipse 有内置的 Path 变量 PROJECT_LOC,它存储项目文件夹的位置,例如 c:\Workspace\Project1。您可以在启动配置中使用此属性。

于 2013-11-04T15:19:48.400 回答