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文件夹

当出现 "'jar' 不是内部外部命令,也不是可运行程序批处理文件" 的错误提示时,这通常是由于环境变量配置错误导致的。根据引用和引用的内容,你可以按照以下步骤来解决这个问题: 1. 首先,确保你已经正确地安装了Java开发工具包(JDK)。你可以从Oracle官网下载JDK安装程序,并按照安装向导进行安装。 2. 确认你已经正确配置了Java环境变量。按下Win + R组合键,输入"control sysdm.cpl"并回车,打开"系统属性"窗口。在"高级"选项卡下,点击"环境变量"按钮。 3. 在"系统变量"区域,找到并编辑名为"JAVA_HOME"的变量,将其值设置为JDK的安装路径。例如,C:\Program Files\Java\jdk1.6.0_14。 4. 确保你还配置了名为"PATH"的系统变量,并将JDK的bin目录添加到变量值的开头。例如,;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin。注意,如果你是在Windows 10上进行配置,需要将这两个路径分别独立成两行。 5. 点击"确定"按钮保存更改,并关闭所有打开的窗口。 6. 重新打开一个命令提示符窗口,并输入"java -version"命令来检查JDK的版本信息。如果成功显示了版本信息,则说明JDK的配置已经生效。 通过上述步骤,你应该能够解决"'jar' 不是内部外部命令,也不是可运行程序批处理文件"的问题,并且能够正确地运行jar命令了。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值