如何为我的程序创建环境变量

时间:2012-03-11 14:11:49

标签: java environment-variables

我在Java中创建了一个使用两个外部数据库的程序。这些数据库的路径在我的程序代码中是硬编码的。

为了使这个程序可以用于其他计算机上的其他用户(谁也应该在他们的计算机上安装这两个数据库),我认为这两个数据库的路径应该作为环境变量添加?怎么可以这样做?

在环境变量方面,我不是专业人士,所以你能告诉我在这种情况下应该做些什么吗?

提前致谢

4 个答案:

答案 0 :(得分:1)

要在Java中获取环境变量的值,可以这样写:

String pathToDatabase = System.getenv().get("PATH_TO_DATABASE");

(其中PATH_TO_DATABASE是环境变量的名称)。这使用System.getenv()来获取所有环境变量的映射。

要在Linux中设置环境变量的值,您的用户可以编写如下内容:

export PATH_TO_DATABASE=/this/is/the/path/to/the/database

在运行程序之前。

答案 1 :(得分:1)

答案 2 :(得分:0)

环境变量通常不是处理应用程序配置的最佳方式,但如果必须,需要特定的操作系统文档来学习如何设置它们以及使用Java:

Map map = System.getenv();

答案 3 :(得分:0)

属性文件不是环境变量,而是更有用且更便携。例如,在属性文件中,您可以拥有以下内容:

db.url = jdbc://foo/bar?whatever
db.user = username
db.password = password

然后您的代码可以使用以下内容读取:

Properties properties = new Properties();
try {
  properties.load(new FileInputStream("path/filename"));
} catch (IOException e) {
  System.err.println( "Eeeek!" );
}

System.out.println( properties.getProperty( "db.url" ) );

很方便,属性对象允许您指定默认值,因此如果需要,您仍然可以使用硬编码值,然后使用外部文件覆盖它们。