【问题标题】:add /usr/local/bin to $PATH got from System.getenv("PATH") in JAVA run on MAC OS在 MAC OS 上运行的 JAVA 中将 /usr/local/bin 添加到从 System.getenv("PATH") 获得的 $PATH
【发布时间】:2016-03-05 11:58:12
【问题描述】:

我手动安装了一个位于 /usr/local/bin 下的软件。我想在 Java 中使用它。但是当我使用 System.getenv("PATH") 来获取 $PATH 时。它不包括 /usr/local/bin。如何解决这个问题?

我从终端得到的$PATH:

/opt/local/bin:/usr/local/maven/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/git/bin

$PATH 我在 JAVA 中从 eclipse 运行:

/usr/bin:/bin:/usr/sbin:/sbin

我的 /etc/paths 是这样的:

/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

我的~/.bashrc 是这样的:

export PATH=/usr/local/maven/bin:$PATH
export PATH=/opt/local/bin:$PATH

~/.bash_profile 中没有内容。

【问题讨论】:

  • 如您所见,/usr/local/bin 已经在终端的 $PATH 中,但不在 Eclipse 的 JAVA 中。

标签: macos path


【解决方案1】:

您可以通过在 /etc/launchd.conf 中添加一行并重新启动计算机来修改全局 osx 路径。

setenv PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin 适用于 OSX 10.8 和 10.9

https://serverfault.com/questions/16355/how-to-set-global-path-on-os-x/277034#277034

【讨论】:

    【解决方案2】:

    通过 launchd.conf 设置环境变量不再适用于 OS X Yosemite/El Capitan

    “在 ~/Library/LaunchAgents/ 中创建 environment.plist 文件”的答案对我不起作用。在 OSX 10.10.5 中 Setting environment variables via launchd.conf no longer works in OS X Yosemite/El Capitan/macOS Sierra?

    使用此方法,可用于设置其他变量,但不适用于 PATH。我试过了。

    【讨论】:

      猜你喜欢
      • 2012-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-15
      • 2023-03-05
      • 2016-05-01
      • 2017-11-26
      相关资源
      最近更新 更多