在java中, system.getProperties()是获取系统定义的参数,用来获取系统信息。
user.dir:该属性表明当前用户所在的目录。
这样描述比较抽象,可以举个例子:
java代码:
public class Main {
public static void main(String[] args) {
System.out.println(System.getProperty("user.dir"));
}
}
打包:
jar cvf main.jar Main.class
将生成的jar包放到/home/madding/test目录下。
同时在该目录下建立一个简单的shel脚本:
#!/bin/bash
echo "`pwd`"
java -cp /home/madding/workspace/java/main.jar Main
运行方式:
在/home/madding/test目录下运行,输出:
/home/madding/test
/home/madding/test
在/home/madding目录下运行,输出:
/home/madding
/home/madding
这样也许更加容易理解user.dir的意思,即当前用户活动目录,和pwd目录一致。
所以当使用user.dir获取运行实例目录下的配置文件时,一定要注意目前用户所在的活动目录,要cd到指定目录后才调用脚步运行。