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

2022-09-01 03:24:27

我有一个全新安装的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构建了这个项目,但有一台新电脑。和一个全新的安装,我确信上次我试图安装所有内容时没有问题。


答案 1

虽然这个问题可以通过安装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 ......."

示例屏幕截图如下所示: enter image description here
4. 保存更改并启动 netbeans IDE。


答案 2

我已经在 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


推荐