提问人:Ooker 提问时间:10/5/2021 更新时间:10/5/2021 访问量:22571
如何降级JDK?
How to downgrade JDK?
问:
目前我的 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 Implementations 是我唯一可以获取 JDK 11 的地方。但是,它似乎是一个二进制文件,而不是一个设置。检查我找到了 jdk-17 和 jre1.8.0 的文件夹,所以我将我刚刚下载的文件夹 jdk-11 复制到那里。检查路径环境,我看到以下两行:C:\Program Files\Java
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_HOME%/bin 设置为路径变量的第一个条目
利润!
检查
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
评论
对于 linux 用户,run command 它将返回您拥有的 java JDK 列表,您可以简单地使用其索引来选择它sudo update-alternatives --config java
上一个:如何同时滚动两个窗口?
评论
--illegal-access=permit
--add-opens java.base/java.nio=ALL-UNNAMED