为了账号安全,请及时绑定邮箱和手机立即绑定

带有 maven 的 Java 无法构建:无法运行程序“cmd”“格式错误的参数嵌入了引号”

带有 maven 的 Java 无法构建:无法运行程序“cmd”“格式错误的参数嵌入了引号”

沧海一幻觉 2023-11-01 21:36:06
我有一个全新安装的netbean 11.1。 现在我正在尝试构建一个项目,但我收到以下错误输出:无法运行程序“cmd”(在目录“C:\projects\open”中):格式不正确 参数嵌入了引号:“C:\Program Files\NetBeans-11.1\netbeans\java\maven\bin\mvn.cmd”cd C:\projects\open; "JAVA_HOME=C:\\Program Files\\Java\\jdk-11.0.5" cmd /c "\"\"C:\\Program Files\\NetBeans-11.1\\netbeans\\java\\maven\\bin\\mvn.cmd\" -DskipTests=true -Dmaven.ext.class.path=\"C:\\Program Files\\NetBeans-11.1\\netbeans\\java\\maven-nblib\\netbeans-eventspy.jar\" -Dfile.encoding=UTF-8 clean install\"" Cannot run program "cmd" (in directory "C:\projects\open"): Malformed argument has embedded quote: "C:\Program Files\NetBeans-11.1\netbeans\java\maven\bin\mvn.cmd" -DskipTests=true -Dmaven.ext.class.path="C:\Program Files\NetBeans-11.1\netbeans\java\maven-nblib\netbeans-eventspy.jar" -Dfile.encoding=UTF-8 clean install我以前用 netbeans 11.1 构建过这个项目,但有一台新电脑。 和全新安装,我敢肯定上次我尝试安装所有内容时没有问题。
查看完整描述

6 回答

?
交互式爱情

TA贡献1712条经验 获得超3个赞

虽然这个问题可以通过安装jdk1.8.0_221来解决,但实际上你不需要降级你的JDK。试试这些:

  1. 如果 netbeans IDE 已打开,请先退出它,然后从此处打开 netbeans 配置文件:netbeans-Install-Dir/etc/netbeans.conf (注意:对我来说,netbeans-Install-Dir 是 C:\Program Files\NetBeans 8.2\etc)

  2. 添加以下参数

-J-Djdk.lang.Process.allowAmbiguousCommands=true
  1. 添加到您在此行找到的字符串的开头:

netbeans_default_options="-J-client -J-Xss2m -J-Xms32m ......."

示例屏幕截图如下所示:

https://img1.sycdn.imooc.com/6542547e000180ef10290110.jpg

4. 保存更改并启动 netbeans IDE。

查看完整回答
反对 回复 2023-11-01
?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

我已经在 https://www.oracle.com/technetwork/java/javase/13-0-1-relnotes-5592797.html#JDK-8221858 查看了 JDK 13.0.1 的发行说明

此行为是 JDK-8221858(非公共)安全修补程序的回归。点击链接查看完整说明。此修复程序是 JDK 8u231、JDk 11.0.5、13.0.1 等的一部分。

要解决此问题,请将 附加到 中。-J-Djdk.lang.Process.allowAmbiguousCommands=truenetbeans_default_options<netbeans-dir>\etc\netbeans.conf


查看完整回答
反对 回复 2023-11-01
?
MMTTMM

TA贡献1869条经验 获得超4个赞

我在旧项目中遇到了这个错误。adopt8-hotspot (AdoptOpenJDK-1.8.0_232-b09)sbt-0.13.X

在 Windows 中设置环境变量后,问题已通过

set JAVA_TOOL_OPTIONS=-Djdk.lang.Process.allowAmbiguousCommands=true


查看完整回答
反对 回复 2023-11-01
?
胡子哥哥

TA贡献1825条经验 获得超6个赞

您是否偶然安装了最新的 Java 关键更新?JDK 1.7_241?我今天安装了它,遇到了完全相同的问题。我降级了我的 jdk 版本,它完全解决了它。

编辑:抱歉,我注意到您使用的是netbeans 11.1,因此您可能有更高的Java版本,无论如何,如果您碰巧今天更新了Java版本,则可以尝试将Java版本降级到以前的版本,因为其他版本可能有相同的问题。


查看完整回答
反对 回复 2023-11-01
?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

在我写这篇文章的时候,我只在我的机器上安装了JDK13。解压缩我的 netbeans 后,我的 netbeans 11.1 的内部 maven 遇到了同样的问题。

显然,netbeans 11.1 无法与 JDK13 一起正常工作。我刚刚安装了 JDK 8,现在问题解决了,无需任何额外的配置或参数更改。

尽管如此,由于我需要 JDK13,因此我已经安装了这两个版本,但我的 netbeans.conf 文件指向 JDK8。稍后,您可以在 netbeans 项目配置中定义新的 Java 平台。

我希望这可能会有所帮助。


查看完整回答
反对 回复 2023-11-01
?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

只需将 -J-Djdk.lang.Process.allowAmbiguousCommands=true 添加到 netbeans.conf 中的netbeans_default_options即可


查看完整回答
反对 回复 2023-11-01
  • 6 回答
  • 0 关注
  • 118 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信