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

63,666

Solution 1

Although this problem can be fixed by installing jdk1.8.0_221, but actually you don't need to downgrade your JDK. Just try these:

  1. First exit netbeans IDE if it's open, then open netbeans configuration file from here: netbeans-Install-Dir/etc/netbeans.conf (Note: for me netbeans-Install-Dir is C:\Program Files\NetBeans 8.2\etc)
  2. Add the below arguments
-J-Djdk.lang.Process.allowAmbiguousCommands=true
  1. to the beginning of the string that you find at this line:
netbeans_default_options="-J-client -J-Xss2m -J-Xms32m ......."

Sample screenshot as shown below: enter image description here
4. Save the change and start your netbeans IDE.

Solution 2

I have checked the release notes for JDK 13.0.1 at https://www.oracle.com/technetwork/java/javase/13-0-1-relnotes-5592797.html#JDK-8221858

This behavior is a regression from a security fix for JDK-8221858 (not public). Follow the link for a full description. The fix is part of JDK 8u231, JDk 11.0.5, 13.0.1 etc.

To resolve this problem, append -J-Djdk.lang.Process.allowAmbiguousCommands=true to netbeans_default_options in <netbeans-dir>\etc\netbeans.conf.

Solution 3

I had this error with adopt8-hotspot (AdoptOpenJDK-1.8.0_232-b09) and sbt-0.13.X for an old project.

Problem solved after setting the environment variable in windows via

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

Solution 4

Did you by any chance install the latest critical update for java? jdk 1.7_241? I installed that today and was having the exact same problem. I downgraded my jdk version and it solved it completely.

EDIT: Apologies, I noticed you're using netbeans 11.1 so you probably have a later java version, in any case, you could try downgrading your java version to a previous release if you happened to update it today as the other version might have the same problem.

Solution 5

At the time that I'm writing, I had only JDK13 installed only on my machine. After unzipped my netbeans I've got the same problem with the internal maven of my netbeans 11.1.

Apparently netbeans 11.1 does not work properly with the JDK13. I just installed the JDK 8 and the problem now is solved, without any additional configuration or parameter change.

Nontheless, since I need the JDK13, I have both installed but my netbeans.conf file is pointing to JDK8. Later, you can define the new Java platform in netbeans project configuration.

I hope this might help.

Cheers!

Share:
63,666
busyBee
Author by

busyBee

Updated on April 16, 2020

Comments

  • busyBee
    busyBee about 4 years

    I've a fresh install of netbean 11.1. Now I'm trying to build a project but I get the following error output:

    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"

    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
    

    I've build this project with netbeans 11.1 before but have a new pc. and a fresh install, tho I'm sure there was no problem last time I tried to install everything.

  • busyBee
    busyBee over 4 years
    same goes for jdk-11.0.5
  • Peter Hull
    Peter Hull over 4 years
    The Netbeans developers have picked up on this and other recent problem reports and the latest development version (which will be 11.2) has this fix applied, see lists.apache.org/thread.html/…
  • ryvantage
    ryvantage about 4 years
    Downgrading the JDK is not an ideal solution. A better option involving editing the netbeans.conf file is below.
  • Richard Jessop
    Richard Jessop about 3 years
    Still relevant with jdk.1.8.0_241.
  • skomisa
    skomisa about 2 years
    This adds nothing to the accepted answer which was posted months before yours. Please review existing answers before posting your own to avoid this situation.