38

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

4

10 回答 10

67

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

示例屏幕截图如下所示: 4. 保存更改并启动您的 netbeans IDE。在此处输入图像描述

于 2019-12-05T17:00:18.770 回答
62

我在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_optionsin <netbeans-dir>\etc\netbeans.conf

于 2019-10-21T10:49:58.727 回答
9

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

通过在windows中设置环境变量后问题解决

set JAVA_TOOL_OPTIONS=-Djdk.lang.Process.allowAmbiguousCommands=true
于 2019-11-11T10:42:19.780 回答
8

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

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

于 2019-10-16T11:30:09.557 回答
6

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

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

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

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

干杯!

于 2019-10-16T13:31:07.173 回答
3

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

于 2020-04-10T17:36:47.467 回答
1

这似乎发生在所有最近发布的 jdk 版本(至少 11.0.5 和 13.0.1)中,即使是最新的 Netbeans 11.2vc1(也见证了 NB 11.1)。将您的 jdk 降级到 11.0.4 或 13.0.0。它为我解决了这个问题

于 2019-10-19T08:08:00.400 回答
1

该问题也出现在版本 jdk-8u231 中。修复安装 jdk-8u221 版本

于 2019-10-20T10:17:30.680 回答
0

Apache NetBeans 11.1 确实不支持 JDK 13,这就是即将推出的 Apache NetBeans 11.2 的用途——最新测试版:bit.ly/apache-netbeans-11-2-beta-3

于 2019-10-18T18:25:28.753 回答
0

我在使用 oracle jdk 13.0.1 和 netbeans 11.1 时遇到了同样的问题,但它对我使用 openjdk 13.0.1 ( https://jdk.java.net/13/ ) 有效。

于 2019-10-19T08:51:53.293 回答