如何在 Mac OS X Lion 上设置一个可以用 System.getenv()
读取的 java 环境变量?我在 Eclipse 中开发。
我在终端 export VAR_NAME=Value
中使用了这个命令,但是 System.getEnv(VAR_NAME)
返回了 null
。
我尝试了 java -DVAR_NAME=Value
但没有执行任何操作。我只得到 java 参数帮助。
我在当前项目文件夹中创建了文件 .bash_profile
,内容为:export VAR_NAME=Value
。它不起作用。
我还在 environment.plist
中创建了文件夹 .MacOSX
和一个文件,我在这个文件中使用 XCode 编写了属性及其值。没有任何效果。
我该怎么做?
最佳答案
目前尚不清楚您在这里实际做什么。如果您尝试为从 Eclipse 启动的 Java 命令设置环境变量,那么简单的解决方案是通过 Eclipse 命令启动器配置来设置它。另一种选择是:
- 退出 Eclipse,
- 在命令 shell 实例中运行
export VAR_NAME=Value
,并且 - 从同一个 shell 实例启动 Eclipse。
关于你尝试过的事情。
I used this command in the terminal
export VAR_NAME=Value
butSystem.getEnv(VAR_NAME)
returnsnull
.
如果您从命令提示符运行 export
命令,然后立即从同一命令提示符启动该命令,应该 可以工作。 export 命令告诉命令提示符使用的 shell 实例将 VAR_NAME
添加到它导出 到运行 export
后启动的子进程的环境变量列表 命令。已准备就绪的子进程不会看到更改。
我强烈怀疑您在启动 Eclipse 之后运行了 export
... 或者您没有从该 shell 实例启动 Eclipse。如果这两者中的任何一个为真,export
命令将不会影响 Eclipse 的环境变量,它(默认情况下)传递给您从 Eclipse 启动的任何 Java 程序。
I tried
java -DVAR_NAME=Value
but nothing is executed. I only get the java arguments help.
失败的原因有几个:
-DVAR_NAME=...
设置的是系统属性而不是环境变量,并且- 你还没有告诉
java
你想要启动的类的名称!
I created in my current project folder the file
.bash_profile
with the content:export VAR_NAME=Value
这只会影响在您创建文件后 启动的新 shell 实例。它不会影响现有的。
I also created the folder .MacOSX with a single file inside environment.plist and in this file I wrote the property and its value using XCode.
我不知道那会做什么。您在哪里创建该文件夹?
关于java - 如何在mac上设置java环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14562156/