[TOC]

分析原因

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

配置过程

首先在系统变量里新建 “JAVA_HOME” 变量,变量值为:“C:\Program Files\Java\jdk-11.0.9” (路径为自己的java文件路径,以下皆是)

在这里插入图片描述

在系统变量里新建 “CLASSPATH” 变量,变量值为:“.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar”

在这里插入图片描述

在系统变量里找到“Path” 变量,变量值为:“%JAVA_HOME%\bin”和”JAVA_HOME%\jre\bin”

这里注意,如果是如下图所示编辑界面(下图是错误示范),需要分两行添加上述变量值

如果”变量名+变量值“的样子(就像上面的配置图差不多),才用;连接(“%JAVA_HOME%\bin;JAVA_HOME%\jre\bin”)

在这里插入图片描述

接下来是重点了:

生成 “jre” 文件夹和其内容。
进入到安装目录下(C:\Program Files\Java\jdk-11.0.9),在此处运行cmd,再输入:“bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre”
这时候接着直接输入 “jar” 的话,还是会有错误:

在这里插入图片描述

直接关掉,重新开一个cmd就行了,直接按 “开始键” + “R",输入:“cmd”。这时候再试试:

在这里插入图片描述

这样就是成功了,然后就能使用jar了。

参考文章:win10解决‘jar’不是内部或外部命令,也不是可运行的程序 的问题_jar’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。-CSDN博客