所以我在 CentOS 6 机器上安装了 Java 8;
rpm -qa
产量
jre1.8-1.8.0_161-fcs.x86_64
和
java -version
产量
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
然而我的构建文件失败了,说的是;
build.xml:223:此构建需要 Java 版本 1.8,而不是 1.6.0_21
从这段代码来看:
<target name="check_versions"
depends="check_java_version">
<fail message="This build requires Java version ${java.version.required}, not ${java.version}."
unless="java.version.ok"/>
</target>
<target name="check_java_version">
<property name="java.version.required" value="1.8"/>
<condition property="java.version.ok">
<contains string="${java.version}"
substring="${java.version.required}"/>
</condition>
</target>
无论如何,我做了一些天真的事情。当我去安装 Java 8 时,我当然必须先卸载旧版本。但是我不知道旧的 Java 版本是如何安装的,或者如何卸载它。 rpm 无法识别已安装的 Java 6 软件包,yum 也无法识别任何内容。例如我无法使用 rpm 或 yum 来卸载它。它存在于 /home/products 中,但在里面我没有找到任何类型的卸载可执行文件
所以,我用暴力简单地删除了整个目录(并使用rpm来安装8)。现在我猜测有一些类似于窗口注册表的东西仍然存在。我该如何解决这个问题?
答案1
听起来您的系统上仍然安装了 Java 1.6 版本。此外,诸如$JAVA_HOME
和 之类的环境变量$JRE_HOME
可能仍设置为旧目录。还可能存在/usr/java/latest
指向以前版本的符号链接。
我建议先搜索旧版本的安装路径和环境变量。为此,您可以使用以下命令:
sudo find / -name "java"
grep --color -ir "JAVA_HOME\|JRE_HOME" /{etc,opt,var}/*