我在Java中创建了一个使用两个外部数据库的程序。这些数据库的路径在我的程序代码中是硬编码的。
为了使这个程序可以用于其他计算机上的其他用户(谁也应该在他们的计算机上安装这两个数据库),我认为这两个数据库的路径应该作为环境变量添加?怎么可以这样做?
在环境变量方面,我不是专业人士,所以你能告诉我在这种情况下应该做些什么吗?
提前致谢
答案 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" ) );
很方便,属性对象允许您指定默认值,因此如果需要,您仍然可以使用硬编码值,然后使用外部文件覆盖它们。