Windows 10 安装 OpenJDK11 和 Oracle JDK8 共存以及“Error: invalid argument: Files...
source link: https://hellodk.cn/post/948
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Windows 10 安装 OpenJDK11 和 Oracle JDK8 共存以及“Error: invalid argument: Files\Java\jdk-11\jre” 问题解决
首先,OpenJDK11 下载地址: http://jdk.java.net/java-se-ri/11
安装 OpenJDK11 参考文章: Windows10系统下openjdk-11环境(java)的安装配置
使用 jlink.exe
生成 jre11 的环境时遇到错误
Error: invalid argument: Files\Java\jdk-11\jre
这个问题是由于 Windows 路径中存在空格导致的。我们使用命令 jlink.exe --module-path jmods --add-modules java.desktop --output %JAVA_HOME%\jre
将生成的文件存放在 JAVA_HOME
环境变量对应的路径的 jre 子文件夹中。但是 Oracle JDK8 默认安装的 jdk
、jre
路径在 C:\Program Files\Java
以上 jlink.exe 生成 jre11 的命令需要通过管理员权限打开 cmd 窗口,cd 到路径 C:\Users\dk\Downloads\openjdk-11+28_windows-x64_bin\jdk-11\bin
# 在路径两边加上英文/半角单引号即可
jlink.exe --module-path jmods --add-modules java.desktop --output "%JAVA_HOME%\jre"
- 系统环境变量
Path
中的值C:\ProgramData\Oracle\Java\javapath
可以删除 - JDK8 的环境变量
JAVA_HOME_8
的值是C:\Program Files\Java\jdk1.8.0_144
- JRE8 的环境变量
JRE_HOME_8
的值是C:\Program Files\Java\jre1.8.0_144
- 由于后面主用 JDK11 开发,所以 JDK11 的环境变量
JAVA_HOME
的值是C:\Program Files\Java\jdk11
下面JRE_HOME
类同 - JRE11 的环境变量
JRE_HOME
的值是C:\Program Files\Java\jdk1\jre
CLASSPATH
不用改C:\Program Files\Java\jre1.8.0_144
和C:\Program Files\Java\jdk1.8.0_144\jre
这两个 jre 的区别是:前者偏重于运行 Java 程序时使用,后者偏重于 Java 开发者在编译后运行 Java 程序使用,这也和环境变量配置的习惯有关。仅仅运行 Java 程序时(比如java -jar xxx.jar
)会优先读取JRE_HOME
下面是 cmd 测试结果
C:\Users\dk>echo %JAVA_HOME%
C:\Program Files\Java\jdk-11
C:\Users\dk>echo %JRE_HOME%
C:\Program Files\Java\jdk-11\jre
C:\Users\dk>echo %JAVA_HOME_8%
C:\Program Files\Java\jdk1.8.0_144
C:\Users\dk>echo %JRE_HOME_8%
C:\Program Files\Java\jre1.8.0_144
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK