Java con maven no se compilaría: no se puede ejecutar el programa "cmd" "El argumento mal formado tiene una cita incrustada"

20

Tengo una nueva instalación de netbean 11.1. Ahora estoy tratando de construir un proyecto pero obtengo el siguiente resultado de error:

No se puede ejecutar el programa "cmd" (en el directorio "C: \ projects \ open"): el argumento con formato incorrecto tiene una cita incrustada: "C: \ Archivos de programa \ 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

He construido este proyecto con netbeans 11.1 antes pero tengo una nueva PC. y una nueva instalación, aunque estoy seguro de que no hubo ningún problema la última vez que intenté instalar todo.

abeja ocupada
fuente

Respuestas:

14

Aunque este problema se puede solucionar instalando jdk1.8.0_221, en realidad no necesita degradar su JDK. Solo prueba estos:

  1. Primero salga de netbeans IDE si está abierto, luego abra el archivo de configuración de netbeans desde aquí: netbeans-Install-Dir / etc / netbeans.conf (Nota: para mí netbeans-Install-Dir es C: \ Archivos de programa \ NetBeans 8.2 \ etc)
  2. Agregue los siguientes argumentos
-J-Djdk.lang.Process.allowAmbiguousCommands=true
  1. al comienzo de la cadena que encuentras en esta línea:
netbeans_default_options="-J-client -J-Xss2m -J-Xms32m ......."

Captura de pantalla de muestra como se muestra a continuación: 4. Guarde el cambio e inicie su IDE de netbeans.ingrese la descripción de la imagen aquí

Ali Safari
fuente
Esta debería ser la respuesta aceptada
ryvantage
funciona, muchas gracias!
Miguel Rodríguez
53

He revisado las notas de la versión de JDK 13.0.1 en https://www.oracle.com/technetwork/java/javase/13-0-1-relnotes-5592797.html#JDK-8221858

Este comportamiento es una regresión de una corrección de seguridad para JDK-8221858 (no público). Siga el enlace para una descripción completa. La solución forma parte de JDK 8u231, JDk 11.0.5, 13.0.1, etc.

Para resolver este problema, anexados -J-Djdk.lang.Process.allowAmbiguousCommands=truea netbeans_default_optionsen <netbeans-dir>\etc\netbeans.conf.

Sephiroth
fuente
1
Los desarrolladores de Netbeans se han dado cuenta de este y otros informes recientes de problemas y la última versión de desarrollo (que será la 11.2) tiene esta corrección aplicada, vea lists.apache.org/thread.html/…
Peter Hull el
7

¿Por casualidad instaló la última actualización crítica para Java? jdk 1.7_241? Lo instalé hoy y estaba teniendo exactamente el mismo problema. Bajé mi versión de jdk y lo resolvió por completo.

EDITAR: Disculpas, me di cuenta de que estás usando netbeans 11.1, por lo que probablemente tengas una versión posterior de Java, en cualquier caso, podrías intentar degradar tu versión de Java a una versión anterior si actualizaste hoy ya que la otra versión podría tener el el mismo problema.

angusg96
fuente
2
la instalación de jdk1.8.0_221 lo resolvió
busyBee
La degradación de JDK no es una solución ideal. A continuación, se incluye una mejor opción para editar el archivo netbeans.conf.
ryvantage
5

En el momento en que escribo, solo tenía JDK13 instalado solo en mi máquina. Después de descomprimir mis netbeans, tengo el mismo problema con el maven interno de mis netbeans 11.1.

Aparentemente, netbeans 11.1 no funciona correctamente con el JDK13. Acabo de instalar el JDK 8 y el problema ahora está resuelto, sin ninguna configuración adicional o cambio de parámetros.

No obstante, dado que necesito el JDK13, ambos los instalé pero mi archivo netbeans.conf apunta a JDK8. Más tarde, puede definir la nueva plataforma Java en la configuración del proyecto netbeans.

Espero que esto ayude.

¡Salud!

marcello
fuente
1
lo mismo ocurre con jdk-11.0.5
busyBee
5

Tuve este error con adopt8-hotspot (AdoptOpenJDK-1.8.0_232-b09)y sbt-0.13.Xpara un proyecto antiguo.

Problema resuelto después de configurar la variable de entorno en Windows a través de

set JAVA_TOOL_OPTIONS=-Djdk.lang.Process.allowAmbiguousCommands=true
raisercostin
fuente
1

Parece suceder con todas las versiones de jdk lanzadas recientemente (11.0.5 y 13.0.1 al menos), incluso con las últimas Netbeans 11.2vc1 (y también en NB 11.1). Reduce tu jdk a 11.0.4 o 13.0.0. Me solucionó el problema

Pierre Maréchal
fuente
1

El problema también ocurre en la versión jdk-8u231. Arreglando la instalación de la versión jdk-8u221

Felipe Moreira Jorge
fuente
0

Apache NetBeans 11.1 de hecho no es compatible con JDK 13, para eso está destinado el próximo Apache NetBeans 11.2 - última versión beta: bit.ly/apache-netbeans-11-2-beta-3

Geertjan Wielenga
fuente
0

Tuve el mismo problema con Oracle jdk 13.0.1 y netbeans 11.1, pero funcionó para mí con openjdk 13.0.1 ( https://jdk.java.net/13/ ).

govojo
fuente
0

simplemente agregue -J-Djdk.lang.Process.allowAmbiguousCommands = true a netbeans_default_options en netbeans.conf

Ahmad Haj Abdulla
fuente