我想在我的单元测试中使用
user.dir
目录作为基本目录(该目录创建了许多文件)。这个属性指向当前的工作目录(例如由'cd'命令设置)是正确的吗?user.dir
目录作为基本目录(该目录创建了许多文件)。这个属性指向当前的工作目录(例如由'cd'命令设置)是正确的吗?这是运行java
时的目录,也就是启动JVM的目录。它不一定在用户的主目录中,可以是任何用户有权限运行Java的地方。
所以如果你进入/somedir
目录,然后运行程序,user.dir
将会是/somedir
。
另一个属性user.home
指的是用户主目录,例如/Users/myuser
、/home/myuser
或C:\Users\myuser
。
在此处查看系统属性及其描述列表。
user.dir
指向/usr/share/tomcat
,并且在配置中添加类似于file:./config
的内容,则它将始终指向/usr/share/tomcat/config
? - Marcin Kapusta通常这是你的应用程序(Java)启动的目录(工作目录)。 “通常”是因为它可以更改,例如当您使用 Runtime.exec(String [] cmdarray,String [] envp,File dir)
运行应用程序时。
System.getProperty("user.dir")
获取当前项目工作区的目录或路径。
pwd
命令中获取的那样,但是如果您使用例如mvn -f /path/to/project
运行,Maven将在运行测试之前在内部有效地cd /path/to/project
。 - rjmunro