【问题标题】:How to set java environment variable on mac如何在mac上设置java环境变量
【发布时间】:2013-01-11 19:10:03
【问题描述】:

如何在 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 编写了属性及其值。什么都没有。

我该怎么做?

【问题讨论】:

  • 看看stackoverflow.com/questions/603785/…这个问题已经被问过了(与Java无关)。
  • 你想完成什么?很少需要弄乱全局环境 - 而是提供合适的启动器脚本。使用java -D 不会影响环境,您可以使用System.getProperty() 检索这些值。 (使用这些配置 Java 程序也可能更惯用。)
  • 您必须登录和注销才能应用 environment.plist 更改。
  • 嗨!感谢您的提示。我设法通过在我的用户文件夹中添加 .MacOSX/environment.plist 来修复它。我不知道 '~' 指向我用户的文件夹......当然还有注销/登录。我知道这是一个愚蠢的设置,但我需要使用一些使用 System.getenv 读取一些变量的 java api,所以 ...

标签: java macos environment-variables


【解决方案1】:

1.打开终端

2.export VAR_NAME=值

3.打开/Applications/Eclipse.app

【讨论】:

    【解决方案2】:

    不清楚你在这里实际做什么。如果您尝试为 从 Eclipse 启动的 Java 命令设置环境变量,那么简单的解决方案是通过 Eclipse 命令启动器配置来设置它。另一种选择是:

    1. 退出 Eclipse,
    2. 在命令外壳实例中运行export VAR_NAME=Value,然后
    3. 从同一个 shell 实例启动 Eclipse

    你尝试过的东西。

    我在终端export VAR_NAME=Value 中使用了这个命令,但System.getEnv(VAR_NAME) 返回null

    如果您从命令提示符运行export 命令,然后立即从相同的命令提示符启动该命令,则应该工作。导出命令告诉命令提示符使用的 shell 实例将VAR_NAME 添加到此环境变量列表中,它会将导出到运行export 命令后启动的子进程。已经准备好启动的子进程不会看到更改

    我强烈怀疑您在启动 Eclipse 之后运行了export ...或者您没有从该 shell 实例启动 Eclipse。如果这两个是真的,export 命令不会影响 Eclipse 的环境变量,它(默认情况下)传递给您从 Eclipse 启动的任何 Java 程序。

    我尝试了java -DVAR_NAME=Value,但没有执行任何操作。我只得到 java 参数的帮助。

    失败有几个原因:

    • -DVAR_NAME=... 正在设置系统属性而不是环境变量,并且
    • 你还没有告诉java你想开始的班级的名字!

    我在当前项目文件夹中创建了文件.bash_profile,内容为:export VAR_NAME=Value

    这只影响在您创建文件之后启动的新shell 实例。它不会影响现有的。

    我还在 environment.plist 中使用单个文件创建了文件夹 .MacOSX,并在该文件中使用 XCode 编写了属性及其值。

    我不知道那会做什么。你在哪里创建的文件夹?

    【讨论】:

    • The docs for environment.plist 声明它是由 OS X 登录进程应用的。
    • 它只能在我的用户文件夹中创建 .MacOSX/environment.plist 并注销/登录(或重新启动)。没有其他工作......奇怪。
    猜你喜欢
    • 2012-02-24
    • 2020-07-16
    • 2017-08-04
    • 2012-03-07
    • 2011-10-10
    • 2013-10-30
    • 2015-09-07
    • 2013-03-03
    • 1970-01-01
    相关资源
    最近更新 更多