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.

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í


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.


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.


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!


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

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


1

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


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



0

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.