12

I unzipped NetBeans 11 to C:\netbeans, installed several versions of the JDK to C:\java and created a test class within NetBeans containing a main method and one line of code System.out.print("hello world");. When I click the Run Project button, the output window shows the command:

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\""

followed by the error:

Cannot run program "cmd" (in directory "C:\Users\MyUsername\Documents\NetBeansProjects\asdf"): Malformed argument has embedded quote: "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

Whether the class creates a GUI or not, it gives the same error. I've tried NetBeans 9, 10, and 11 with JDK 7, 8, and 11. Am I missing something during setup, or do I have something in a wrong directory somewhere? I'm lost.

B--rian
  • 5,578
  • 10
  • 38
  • 89
Ross P.
  • 123
  • 1
  • 1
  • 8
  • Seems like the command line gets fudged with `"` characters that shouldn't be there. – Kayaman Oct 18 '19 at 07:03
  • Regarding _"I installed NetBeans 11 and created a small test class"_ you need to provide more information than that, because the reader has no idea what you actually did. State the precise actions you took in sufficient detail so that others can attempt to reproduce your problem. – skomisa Oct 18 '19 at 08:01
  • Done, thanks. New to stack overflow. – Ross P. Oct 18 '19 at 22:09

4 Answers4

59

No need to downgrade the JDK, just add this in your netbeans.conf

  1. Find your netbeans.conf file. e.g.: netbeansIstallDir/etc/netbeans.conf

  2. Find the key netbeans_default_options and at the start of the string add the following: -J-Djdk.lang.Process.allowAmbiguousCommands=true

    It should look like this:

    netbeans_default_options="-J-Djdk.lang.Process.allowAmbiguousCommands=true..."
    
Paul Vargas
  • 41,222
  • 15
  • 102
  • 148
2

Fixed this issue by installing jdk1.8.0_221 as suggested here:

Java with maven wouldn't build: Cannot run program "cmd" "Malformed argument has embedded quote"

Hope this will help you too

1

No need to downgrade to an older JDK version, check my answer at https://stackoverflow.com/a/58484737 for a solution and the background of the change.

Sephiroth
  • 666
  • 1
  • 4
  • 4
1

Find the key netbeans_default_options and at the start of the string add the following: -J-Djdk.lang.Process.allowAmbiguousCommands=true

It should look like this:

netbeans_default_options="-J-Djdk.lang.Process.allowAmbiguousCommands=true..."

this if form Omer Erden, congrats...

Francisco
  • 11
  • 1