2013-12-17 54 views
1

我正在用java开发一个应用程序。我需要设置环境变量作为我的应用程序的一些先决条件,如数据库路径等。如何为所有类型的操作系统设置环境变量?

在操作系统中,我可以手动设置,实际上我需要通过java代码设置所有我的先决条件,本身也它应该支持所有类型的dektop平台,最好是windows,linux和mac。

+1

环境变量只在执行应用程序时需要,对吗?是否有理由不能仅仅使用系统属性或将必要的信息传递给需要它的代码? – Thomas

+0

是托马斯的权利,但对于少数数据库访问,我需要设置envrionment可变路径,类似于开发的jdk路径设置。 – Sivam

+2

我相信不可能从Java内部设置系统环境变量,除了子进程。 –

回答

4

除了子进程(即由ProcessBuilder启动的进程)之外,不能从Java内部设置系统环境变量。

每个操作系统都支持更改应用于用户启动的新进程的用户默认环境变量的方法,但它取决于操作系统。例如在Linux下,它通常就像编辑文件~/.profile一样简单,但并非总是如此(我不是Linux专业人员都知道所有的方法)。在Windows上,您需要编辑注册表。

2

我认为,由于无法手动编辑Java Preferences API,因此无法解决问题。 然而你可以编写你自己的设置编辑器(命令行应用程序)。

或者,您可以在System.getProperty("user.home") + ".MyApp"中创建一个目录,即在用户的主目录中。与Linux兼容,存在权利。然后在那里存储一个设置文件。

相关问题