我有2个属性文件,它们是我的java eclipse项目的一部分。现在我需要将这两个文件的路径作为系统属性(如-Dpath1="pathfile1"
)传递,因为项目只接受它作为系统属性。
一个选项是我可以指定绝对路径,但我想指定一个相对于我的项目的路径,如-Dpath1=$Project_Dir/resource/file1
。原因是,如果项目目录被移动,那么项目将开始失败。
我使用eclipse来运行这个项目,并且不想声明任何新的系统变量来支持相对路径,所以例如不想创建一个新的系统变量Project_Dir
。有可能实现这个目标吗?
答案 0 :(得分:2)
您可以使用以下命令设置系统属性:
System.setProperty("path1", yourPathHere);
现在,您只需构建相对于项目所在位置的正确路径。为此,请从项目的位置开始:How to get the path of a running JAR file?
答案 1 :(得分:0)
是的,你可以这样做.Eclipse有内置的Path变量PROJECT_LOC,它存储项目文件夹的位置,e.x。 C:\工作区\ PROJECT1。 您可以在启动配置中使用此属性。
答案 2 :(得分:0)
使用setProperty
时,如果使用普通相对路径,则可以引用内部项目文件。
E.g。引用位于/abc/def/workspace/project/lib/driver.exe的文件:
System.setProperty("driver", "lib/driver.exe");
这很简单。