【发布时间】:2020-12-12 20:59:20
【问题描述】:
我有两个项目。一个在位置 a,另一个在 b。
项目 a 需要从项目 b 的目录加载 conf 文件。 我无法硬编码位于 b 目录中的文件的路径,因为如果我在不同的机器上运行它,每台机器的用户名都会不同,路径也可能不同。
所以我想做的是,每个人都将他们的conf文件路径设置为.bashrc中的环境变量。这样我想在我的java代码中使用导出的变量路径。现在的问题是我该怎么做?
以下是类似于我想做的事情:
我的系统中有一个变量存储在 .bashrc 中,如下所示:
export variableName1=~/path_to_file
现在我想在加载配置文件时在java中使用这个变量,如下所示:
Config config = ConfigFactory.parseFile(new File("${variableName1}/path_to_file"));
我该怎么做?
我尝试按如下方式获取 variableName1 的值:
String value = System.getProperty("variableName1");
OR
String value = System.getenv("variableName1");
但这只会返回空值。
【问题讨论】:
-
你的意思是 System.getProperty("") 吗?
-
这都是关于可变用户名还是 home/ 部分不同?
-
我不太明白你的问题是什么......它是根据当前用户加载环境变量还是创建变量路径?还是两者兼而有之?
-
加载环境变量。因为每当我做 System.getenv("variableName1");或 System.getProperty("variableName1");我得到空值
标签: java ubuntu intellij-idea akka config