【问题标题】:build openjdk on mac "JAVA_HOME is not defined correctly"在 Mac 上构建 openjdk “JAVA_HOME 未正确定义”
【发布时间】:2015-04-05 10:00:16
【问题描述】:

我正在 MAC 上构建 openjdk 并面临这样的问题:

Error: JAVA_HOME is not defined correctly.
We cannot execute /NO_BOOTDIR/bin/java

我的 Mac 的操作系统是 10.10.2。

openjdk 是

openjdk-7u40-fcs-src-b43-26_aug_2013

ALT_BOOTDIR

export ALT_BOOTDIR=/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home

$JAVA_HOME

echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home

当我设置 JAVA_HOME 并运行 'make sanity' 时,错误是这样的:

ERROR: Your JAVA_HOME environment variable is set.  This will
   most likely cause the build to fail.  Please unset it
   and start your build again.

所以我必须取消它,无论我是否取消它,都会出现错误。

有什么想法吗?

想。

【问题讨论】:

  • 据我所知,java home 应该是/1.7.0.jdk,而不是/1.7.0.jdk/Contents/Home
  • 感谢您的回答。我正在尝试基于以前的 idk 构建一个 JVM,因此 BOOTDIR 应该是以前的 JDK 的路径。在我看来,重要的不是必须取消设置的 JAVA_HOME。

标签: java jvm openjdk


【解决方案1】:

在设置路径之前,请确保通过检查目录来安装 java

/Library/Java/JavaVirtualMachines/<version>.jdk/Contents/Home

然后在.bashrc.bash_profile

JAVA_HOME=/Library/Java/JavaVirtualMachines/<version>.jdk/Contents/Home
export JAVA_HOME

如果缺少 OpenJDK,您可以通过 brew 安装它

brew tap AdoptOpenJDK/openjdk
brew cask install adoptopenjdk8

/usr/binjavajavac 中应该有符号链接

【讨论】:

  • 我想你会发现 java 和 javac 通常应该从 /usr/bin 符号链接
  • 最新的 Brew API 需要 brew install --cask adoptopenjdk11
猜你喜欢
  • 2012-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-15
  • 2016-10-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多