Java avec maven ne construirait pas: Impossible d'exécuter le programme «cmd» «L'argument mal formé a une citation intégrée»


20

J'ai une nouvelle installation de netbean 11.1. Maintenant j'essaye de construire un projet mais j'obtiens la sortie d'erreur suivante:

Impossible d'exécuter le programme "cmd" (dans le répertoire "C: \ projects \ open"): un argument mal formé contient une citation: "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

J'ai déjà construit ce projet avec Netbeans 11.1 mais j'ai un nouveau PC. et une nouvelle installation, mais je suis sûr qu'il n'y a eu aucun problème la dernière fois que j'ai essayé de tout installer.

Réponses:


14

Bien que ce problème puisse être résolu en installant jdk1.8.0_221, vous n'avez en fait pas besoin de rétrograder votre JDK. Essayez-les:

  1. Quittez d'abord l'EDI netbeans s'il est ouvert, puis ouvrez le fichier de configuration netbeans à partir d'ici: netbeans-Install-Dir / etc / netbeans.conf (Remarque: pour moi, netbeans-Install-Dir est C: \ Program Files \ NetBeans 8.2 \ etc)
  2. Ajoutez les arguments ci-dessous
-J-Djdk.lang.Process.allowAmbiguousCommands=true
  1. au début de la chaîne que vous trouvez sur cette ligne:
netbeans_default_options="-J-client -J-Xss2m -J-Xms32m ......."

Exemple de capture d'écran comme indiqué ci-dessous: 4. Enregistrez la modification et démarrez votre IDE netbeans.entrez la description de l'image ici


Cela devrait être la réponse acceptée
ryvantage

ça marche, merci beaucoup!
Miguel Rodríguez

53

J'ai vérifié les notes de publication de JDK 13.0.1 sur https://www.oracle.com/technetwork/java/javase/13-0-1-relnotes-5592797.html#JDK-8221858

Ce comportement est une régression à partir d'un correctif de sécurité pour JDK-8221858 (non public). Suivez le lien pour une description complète. Le correctif fait partie de JDK 8u231, JDk 11.0.5, 13.0.1 etc.

Pour résoudre ce problème, ajoutez -J-Djdk.lang.Process.allowAmbiguousCommands=trueà netbeans_default_optionsdans <netbeans-dir>\etc\netbeans.conf.


1
Les développeurs Netbeans ont repris cela et d'autres rapports de problèmes récents et la dernière version de développement (qui sera la 11.2) a ce correctif appliqué, voir lists.apache.org/thread.html/…
Peter Hull

7

Avez-vous par hasard installé la dernière mise à jour critique pour java? jdk 1.7_241? Je l'ai installé aujourd'hui et rencontrais exactement le même problème. J'ai rétrogradé ma version jdk et cela l'a complètement résolu.

EDIT: Toutes mes excuses, j'ai remarqué que vous utilisez netbeans 11.1, vous avez donc probablement une version java ultérieure, dans tous les cas, vous pouvez essayer de rétrograder votre version java vers une version précédente si vous la mettiez à jour aujourd'hui car l'autre version pourrait avoir le même problème.


2
l'installation de jdk1.8.0_221 l'a résolu
busyBee

La rétrogradation du JDK n'est pas une solution idéale. Une meilleure option impliquant la modification du fichier netbeans.conf est ci-dessous.
ryvantage

5

Au moment où j'écris, je n'avais que JDK13 installé uniquement sur ma machine. Après avoir décompressé mes netbeans, j'ai le même problème avec le maven interne de mes netbeans 11.1.

Apparemment, Netbeans 11.1 ne fonctionne pas correctement avec le JDK13. Je viens d'installer le JDK 8 et le problème est maintenant résolu, sans aucune configuration ou modification de paramètre supplémentaire.

Néanmoins, puisque j'ai besoin du JDK13, j'ai tous les deux installé mais mon fichier netbeans.conf pointe vers JDK8. Plus tard, vous pourrez définir la nouvelle plateforme Java dans la configuration du projet netbeans.

J'espère que cela pourrait aider.

À votre santé!


1
il en va de même pour jdk-11.0.5
busyBee

5

J'ai eu cette erreur avec adopt8-hotspot (AdoptOpenJDK-1.8.0_232-b09)et sbt-0.13.Xpour un ancien projet.

Problème résolu après avoir défini la variable d'environnement dans Windows via

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

1

Cela semble se produire avec toutes les versions jdk récemment publiées (11.0.5 et 13.0.1 au moins), même avec le dernier Netbeans 11.2vc1 (et vu aussi sur NB 11.1). Rétrogradez votre jdk vers 11.0.4 ou 13.0.0. Cela a résolu le problème pour moi


1

Le problème se produit également dans la version jdk-8u231. Correction de l'installation de la version jdk-8u221


0

Apache NetBeans 11.1 ne prend en effet pas en charge JDK 13, c'est à cela que sert le prochain Apache NetBeans 11.2 - dernière version bêta: bit.ly/apache-netbeans-11-2-beta-3



0

il suffit d'ajouter -J-Djdk.lang.Process.allowAmbiguousCommands = true à netbeans_default_options dans netbeans.conf

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.