我将NetBeans 11解压缩到C:\netbeans
,将JDK的多个版本安装到C:\java
,并在NetBeans中创建了一个包含主方法和一行代码System.out.print("hello world");
的测试类。当我单击运行项目按钮时,输出窗口将显示命令:
cd C:\Users\MyUsername\Documents\NetBeansProjects\asdf;
JAVA_HOME=C:\\Java\\jdk1.8.0_231 cmd /c "\"\"C:\\netbeans-9\\java\\maven\\bin\\mvn.cmd\"
-Dexec.args=\"-classpath %classpath com.mycompany.asdf.Test\"
-Dexec.executable=C:\\Java\\jdk1.8.0_231\\bin\\java.exe
-Dmaven.ext.class.path=C:\\netbeans-9\\java\\maven-nblib\\netbeans-eventspy.jar
-Dfile.encoding=UTF-8 process-classes org.codehaus.mojo:exec-maven-plugin:1.5.0:exec\""
随后出现错误:
无法运行程序“ cmd”(在目录“ C:\ Users \ MyUsername \ Documents \ NetBeansProjects \ asdf”中):格式错误的参数已嵌入引号:“ C:\ netbeans-9 \ java \ maven \ bin \ mvn。 cmd“ -Dexec.args =”-classpath%classpath com.mycompany.asdf.Test“ -Dexec.executable = C:\ Java \ jdk1.8.0_231 \ bin \ java.exe -Dmaven.ext.class.path = C :\ netbeans-9 \ java \ maven-nblib \ netbeans-eventspy.jar -Dfile.encoding = UTF-8进程类org.codehaus.mojo:exec-maven-plugin:1.5.0:exec
该类是否创建GUI,都会给出相同的错误。我已经尝试过将NetBeans 9、10和11与JDK 7、8和11一起使用。我在安装过程中丢失了某些内容吗,还是在错误的目录中找到了某些内容?我迷路了。
答案 0 :(得分:18)
无需降级JDK,只需将其添加到netbeans.conf中即可。
找到您的netbeans.conf文件netbeansIstallDir/etc/netbeans.conf
找到键netbeans_default_options
,并在字符串的开头添加以下内容:-J-Djdk.lang.Process.allowAmbiguousCommands=true
它应该看起来像这样:
netbeans_default_options="-J-Djdk.lang.Process.allowAmbiguousCommands=true..."
答案 1 :(得分:1)
通过按以下建议安装jdk1.8.0_221来解决此问题:
Java with maven wouldn't build: Cannot run program "cmd" "Malformed argument has embedded quote"
希望这对您也有帮助
答案 2 :(得分:1)
找到关键的netbeans_default_options并在字符串的开头添加以下内容:-J-Djdk.lang.Process.allowAmbiguousCommands = true
它应该像这样:
netbeans_default_options =“-J-Djdk.lang.Process.allowAmbiguousCommands = true ...”
如果是Omer Erden的话,恭喜...
答案 3 :(得分:0)
在尝试运行任何项目时,我遇到相同的“格式错误的参数已嵌入引号:”错误。 Netbeans 11.0和我尝试过的jdk13.0.1,jdk11.0.5和jkd1.8.0均出现相同的错误。我也很茫然。
答案 4 :(得分:0)
无需降级到较旧的JDK版本,请在https://stackoverflow.com/a/58484737上查看我的答案以获取解决方案和更改的背景。