如何降级JDK?

问题描述 投票:0回答:2

目前我的Java版本是17。Neo4j要求我安装Java 11或OpenJDK 11,否则会出现错误

java.lang.IllegalAccessException: module java.base does not open java.nio to unnamed module @1817d444
。我想我需要降级到 JDK 11。

Java Platform, Standard Edition 11 Reference Implements 是我可以获得 JDK 11 的唯一地方。然而,它似乎是一个二进制文件,而不是一个安装程序。检查

C:\Program Files\Java
我发现了jdk-17和jre1.8.0的文件夹,所以我将刚刚下载的文件夹jdk-11复制到那里。检查路径环境我看到这两行:

C:\Program Files\Common Files\Oracle\Java\javapath
C:\Program Files (x86)\Common Files\Oracle\Java\javapath

检查64位的javapath,我看到有java.exe、javac.exe、javaw.exe、jshell.exe。这是否意味着我应该用 jdk-11 中的文件替换这些文件?

java neo4j path java-11
2个回答
7
投票
  1. 创建指向首选版本的新自定义变量

  2. 将 %JAVA_HOME%/bin 设置为路径变量的第一个条目

  3. 利润!

    检查

    java -version

为什么不直接删除 Oracle Java 路径条目而不用担心路径中 JAVA_HOME 的位置?

您可能建议简单地删除安装程序在 Windows PATH 中添加的 Oracle Java 路径。是的,我也想到了这一点,但是安装程序还将 java.exe、javaw.exe 和 javaws.exe 文件复制到 C:\Windows\System32 目录,该目录也在 Windows PATH 变量中。因此,我没有追查安装程序放置 Java 的所有可能的目录,也为了避免删除某些进程实际上可能需要的 System32 文件,我决定简单地将我喜欢的 Java 主目录添加到路径前面是最好的选择。

来源:安装 JDK 8 后如何设置自定义 Java 路径 – Douglas C. Ayers


0
投票

对于Linux用户运行命令

sudo update-alternatives --config java
它将返回您拥有的 java JDK 列表,您可以简单地使用其索引来选择它

© www.soinside.com 2019 - 2024. All rights reserved.