需要将路径设置为 java 项目的系统属性
Posted
技术标签:
【中文标题】需要将路径设置为 java 项目的系统属性【英文标题】:Need to set path as a system property for java project 【发布时间】:2013-11-15 06:06:35 【问题描述】:我有 2 个属性文件,它们是我的 java eclipse 项目的一部分。现在我需要将这两个文件的路径作为-Dpath1="pathfile1"
之类的系统属性传递,因为项目只会接受它作为系统属性。
一种选择是我可以指定绝对路径,但我想指定相对于我的项目的路径,例如-Dpath1=$Project_Dir/resource/file1
。原因是,如果项目目录被移动,那么项目将开始失败。
我正在使用 eclipse 来运行这个项目,并且不想声明任何新的系统变量来支持相对路径,所以例如不想创建一个新的系统变量 Project_Dir
。是否有可能实现这一目标以及如何实现?
【问题讨论】:
【参考方案1】:是的,你可以做到。Eclipse 有内置的 Path 变量 PROJECT_LOC,它存储项目文件夹的位置,例如c:\工作区\项目1。 您可以在启动配置中使用此属性。
【讨论】:
【参考方案2】:您可以通过以下方式设置系统属性:
System.setProperty("path1", yourPathHere);
现在,您只需构建正确的路径,相对于您的项目所在的位置。为此,请从项目的位置开始:How to get the path of a running JAR file?
【讨论】:
【参考方案3】:使用setProperty
时,如果使用纯相对路径,则可以引用内部项目文件。
例如引用位于 /abc/def/workspace/project/lib/driver.exe 的文件:
System.setProperty("driver", "lib/driver.exe");
这很简单。
【讨论】:
以上是关于需要将路径设置为 java 项目的系统属性的主要内容,如果未能解决你的问题,请参考以下文章
线程“main”java.lang.IllegalStateException 中的异常:驱动程序可执行文件的路径必须由:系统属性设置
Selenium 使用 Java - 驱动程序可执行文件的路径必须由 webdriver.gecko.driver 系统属性设置
java.lang.IllegalStateException:驱动程序可执行文件的路径必须由webdriver.chrome.driver系统属性设置