我安装了与现有 1.5 并行的新 jdk 1.6,但是运行 java 二进制文件时出现此错误。
./java -version VM 初始化期间发生错误 java/lang/NoClassDefFoundError: java/lang/Object
我已经设置我的 PATH 变量以包含新的 jdk bin 目录。
答案1
尝试将 JAVA_HOME 变量设置为基目录。
export JAVA_HOME=/path/to/jdk1.5r8
/path/to/jdk1.5r8/bin/java -version
Java 几乎在所有事情上都尊重 JAVA_HOME 和 JAVA_OPTS。
答案2
这是我在我们服务器的 bash 配置文件中设置的内容。
export JAVA_HOME_8=$HOME/3rd/jdk1.8.0
export JAVA_HOME_6=$HOME/3rd/jdk1.6.0_38
alias j6='export JAVA_HOME=$JAVA_HOME_6;export PATH=$JAVA_HOME/bin:$PATH'
alias j8='export JAVA_HOME=$JAVA_HOME_8;export PATH=$JAVA_HOME/bin:$PATH'
当我们需要 java6 时,我们在命令提示符中输入 j6 来加载 java6 环境,或者输入 j8 来加载 java8 环境
答案3
确保您要在 PATH 和 JAVA_HOME 中使用的 jdk 版本相同。您可以通过更新两个字段在版本之间继续切换。