背景
在日常工作中,使用的工具,有一些java写的比较老的工具,环境要求是1.8,有一些java写的工具,环境要求是java11以上。
痛点
使用java写的工具要求是1.8的java,但是window电脑上只安装了java11。就会报下面的错误
错误: 找不到或无法加载主类 attack.ui.Main
原因: java.lang.NoClassDefFoundError: javafx/application/Application
实现目标
在window电脑上同时安装java8和java11,并且都能用
环境准备
window11_64位
java1.8安装包 jdk-8u131-windows-x64_8.0.1310.11.exe
java11安装包jdk-11.0.11_windows-x64_bin.exe 版本尽量不要太新,有的人安装了java16,导致低版本的java工具也用不了。我将就的用java11
关键步骤
(1)分别双击安装包,一路下一步点下去,直到安装完成。下图是安装好后的java路径
(2)进入java1.8的安装目录C:\Program Files\Java\jdk1.8.0_131\bin,找到java.exe,并把它改成java8.exe
(3)进入java11的安装目录C:\Program Files\Java\jdk-11.0.11\bin,找到java.exe,复制一下java.exe并且粘贴到当前目录,也就多了个副本,把副本的文件改成java11.exe
(4)设置环境变量
我的电脑->右键->系统属性->高级->环境变量->系统变量->path->编辑
点击新增,并把C:\Program Files\Java\jdk-11.0.11\bin和C:\Program Files\Java\jdk1.8.0_131\bin加到环境变量里。
点击确定就完成了。
验证效果
打开一个新的命令行窗口。输入java8 -version
输入java11 -version
这样2个java版本都同时在我们的电脑上了。并且都可以同时用
使用方法
比如你的java工具名字叫做mytest.jar,要求的java版本是1.8,默认你的java是使用java11
打开命令行,进入到mytest.jar目录。输入下面命令
java8 -jar mytest.jar
就可以打开这个文件了。
如果要默认的java11,使用下面的命令:
java11 -jar mytest.jar 或者直接java -jar mytest.jar
即可打开。