win10解决‘jar’不是内部或外部命令,也不是可运行的程序 的问题

《Java核心技术·卷I》中第4章对象与类的第4.8小节JAR文件遇到无法创建的问题。

后来发现这书的第11版叫我们安装JDK11,但是书中的示例是JDK9的,即2.1.2小节的内容。
这让我一开始实在是困惑不已,为啥 “jar” 就不是内部或外部命令?更奇怪的是“javac”编译和“java”虚拟机指令都没问题,就是 “jar” 不行。

研究了半天才发现原来JDK11以后就不再默认创建 “jre” 文件夹和其内容了,需要手动了。至于如何发现没有“jre”文件夹的,是因为看环境变量的路径里有“jre”的文件夹,但是我发现JDK里并没有,就上网一搜才知道原因。

写在这里希望能帮到遇到同样问题的朋友,以此节省一部分时间。

先复查一下环境变量:

0-配置环境变量:右击“我的电脑”—“高级”—“环境变量”
在这里插入图片描述
1-在用户变量里:双击 “Path” 的变量,变量值为:“C:\Program Files\Java\jdk-11.0.9\bin”(根据自己的安装路径填写)
在这里插入图片描述
2-在系统变量里新建 “JAVA_HOME” 变量,变量值为:“C:\Program Files\Java\jdk-11.0.9”
在这里插入图片描述
3-在系统变量里新建 “CLASSPATH” 变量,变量值为:“.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar”
在这里插入图片描述
4-在系统变量里找到 “Path” 变量,变量值为:“%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin”(注意变量值之间用“;”隔开)
在这里插入图片描述
接下来是重点了:

生成 “jre” 文件夹和其内容

0-在开始栏中(或按开始键),输入:“cmd”,点击“以管理员身份运行”
在这里插入图片描述
1-进入到安装目录下,输入:“cd C:\Program Files\Java\jdk-11.0.9”,
再输入:“bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre”
在这里插入图片描述
这时候接着直接输入 “jar” 的话,还是会有错误:
在这里插入图片描述
直接关掉,重新开一个cmd就行了,直接按 “开始键” + “R",输入:“cmd”。这时候再试试:
在这里插入图片描述
这样就是成功了
2-接下来就是创建 “jar” 文件了:
在这里插入图片描述
在这里插入图片描述

Reference:

[1] jar不是内部或外部命令,也不是可运行的程序
[2] java jdk12,安装路径没有jre文件夹