我正在开发一款使用一些Java类的Cocoa应用程序。但是我遇到了一个错误:“JAVA_HOME未正确定义,我们无法执行/System/Library/Frameworks/JavaVM.framework/Home/bin/java”。我不知道如何解决这个问题。请帮帮我。
提前感谢大家。
export JAVA_HOME=`/usr/libexec/java_home` is exactly what you want to do.
实际上,所有硬编码 /System/Library/Frameworks/JavaVM.framework/Versions/... 的 Apache 项目(或者任何项目)需要使用 /usr/libexec/java_home(如果存在)来确定 Java 是否已安装。这是您唯一可以知道 Java 是否已安装的方式。
将来,在 /System/Library/Frameworks/JavaVM.framework/Versions/ 中的符号链接将会被删除,如果这些项目想要使用 Oracle/OpenJDK JVM 进行加载,它们会更加严重地出现故障。
export JAVA_HOME=/usr
export PATH=$PATH:$JAVA_HOME
JAVA_HOME
设置为指向 .../Home
目录,而不是 java
二进制文件。例如:export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home
你为什么要在首次设置环境变量?在OS X上,你不应该这样做...
$ vi /Users/apache-ant-1.8.3/bin/ant
#ant from line 83 to 93
case "`uname`" in
CYGWIN*) cygwin=true ;;
Darwin*) darwin=true
if [ -z "$JAVA_HOME" ] ; then
#delete JAVA_HOME=XXXXX(default line) , and give JAVA_HOME ur java home url
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home
fi
;;
MINGW*) mingw=true ;;
esac
jenv
而发生的,如果它已安装。~/.bash_profile
中,应该有这 3 行:export PATH="$HOME/.jenv/bin:$PATH"
eval "$(jenv init -)"
eval "$(jenv enable-plugin export)"
然后通过以下命令重新加载它:source ~/.bash_profile