运行jar文件时访问执行文件夹

时间:2016-06-12 11:57:54

标签: java

我希望能够在不同的文件夹上运行jar文件java -jar myapp.jar,并根据执行的上下文加载config.properties

/myapp/myapp.jar

/folder1/config.properties
/folder2/java -jar /myapp/myapp.jar    <------ loads /folder1/config.properties

/some/folder2/config.properties
/some/folder2/java -jar /myapp/myapp.jar   <------ loads /folder2/config.properties

加载属性后,我希望它在当前执行文件夹中创建一些文件。

所以:

  1. 如何根据当前执行的上下文告诉java加载属性文件?
  2. 如何访问jar正在执行的文件夹?

1 个答案:

答案 0 :(得分:1)

当你提供类Filenew File("config.properties")的构造函数的相对路径时,在场景后面,构建的绝对路径是

System.getProperty("user.dir") / config.properties 

user.dir实际上是User working directory,也是您启动命令的目录。