jpackage 命令无法识别
Posted
技术标签:
【中文标题】jpackage 命令无法识别【英文标题】:jpackage command is not recognized 【发布时间】:2021-10-24 22:21:37 【问题描述】:我正在尝试使用 Java 中的 jpackage 工具将 jar 文件打包成可执行文件,但是使用 Windows 10 和 Java 版本的命令提示符中无法识别该命令:
> java --version
java 17.0.1 2021-10-19 LTS
Java(TM) SE Runtime Environment (build 17.0.1+12-LTS-39)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.1+12-LTS-39, mixed mode, sharing)
我已经安装了完整的 JDK,并且可以识别命令 javac。
我用“where java javac jpackage”命令检查了我的电脑,它只在 CommonFiles 文件夹中找到了前两个。
我查看了文件夹路径“ProgramFiles\Java\jdk-17.0.1\jmods”,“jdk.jlink.jmod”和“jdk.jpackage.jmod”文件都存在。
有人可以帮我弄清楚为什么 Windows 无法识别该工具吗?
【问题讨论】:
javac
被识别了吗?
你确定你有 JDK 而不仅仅是 JRE?
你需要一个完整的 JDK
嗯......这很奇怪,因为 Oracle 在 Java 8 之后停止发布“JRE”发行版。我想知道 OP 是否以不寻常的方式设置了 PATH?
您是否已经或以前在此系统上安装了较旧的 (where java javac jpackage(如果在powershell 中使用where.exe
来避免where-object 别名)并查看前两个实际上是否在\Program Files [(x86)]\Common Files
或\ProgramData
某处。在 CMD 中执行 path
并查找所有与 Oracle 相关的条目;在 powershell 中使用 $env:path -split ';'
更容易查看。
【参考方案1】:
我发现问题出在我为 Java 设置环境变量的方式上。为了解决我的问题,我进入了JAVA_HOME
变量并将条目从
C:\ProgramFiles\Java\jdk-17.0.1\lib
到
C:\ProgramFiles\Java\jdk-17.0.1
接下来我更新了path
变量以包含"%JAVA_HOME%\bin"
。在我将其列为C:\ProgramFiles\Java\jdk-17.0.1\bin
之前。这两项更改都是使用“编辑”按钮在系统变量下进行的。我要感谢 dave_thompson_085 为我指明了正确的方向。
【讨论】:
我不相信这一点。当然,旧版本的JAVA_HOME
是不正确的。但是命令外壳不使用JAVA_HOME
来查找东西……通常。如果PATH
之前包含“C:\ProgramFiles\Java\jdk-17.0.1\bin”,那么命令外壳应该在“C:\ProgramFiles\Java\jdk-17.0.1\”中找到jpackage
斌"以上是关于jpackage 命令无法识别的主要内容,如果未能解决你的问题,请参考以下文章