Java с maven не будет собираться: не удается запустить программу "cmd" "Неправильный аргумент имеет встроенную кавычку" - PullRequest
7 голосов
/ 16 октября 2019

У меня свежая установка netbean 11.1. Сейчас я пытаюсь построить проект, но получаю следующее сообщение об ошибке:

Невозможно запустить программу "cmd" (в каталоге "C: \ projects \ open"): неверный аргумент содержит встроенную кавычку: "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

Я уже собирал этот проект с NetBeans 11.1, но у меня есть новыйПК. и новая установка, хотя я уверен, что в прошлый раз, когда я пытался все установить, проблем не было.

Ответы [ 8 ]

12 голосов
/ 21 октября 2019

Я проверил примечания к выпуску для JDK 13.0.1 в https://www.oracle.com/technetwork/java/javase/13-0-1-relnotes-5592797.html#JDK-8221858

Это поведение является регрессом из исправления безопасности для JDK-8221858 (не публично). Перейдите по ссылке для полного описания. Исправление является частью JDK 8u231, JDk 11.0.5, 13.0.1 и т. Д.

Чтобы решить эту проблему, добавьте -J-Djdk.lang.Process.allowAmbiguousCommands=true к netbeans_default_options в <netbeans-dir>\etc\netbeans.conf.

5 голосов
/ 16 октября 2019

Вы случайно не установили последнее критическое обновление для Java? JDK 1,77241? Я установил это сегодня и у меня точно такая же проблема. Я понизил версию JDK и полностью решил ее.

РЕДАКТИРОВАТЬ: Извинения, я заметил, что вы используете NetBeans 11.1, поэтому у вас, вероятно, есть более поздняя версия Java, в любом случае, вы можете попробовать понизить версию Java допредыдущий выпуск, если вы обновили его сегодня, так как другая версия могла иметь ту же проблему.

3 голосов
/ 16 октября 2019

В то время, когда я пишу, на моем компьютере был установлен только JDK13. После распаковки моего netbeans у меня возникла та же проблема с внутренним maven моего netbeans 11.1.

Видимо, netbeans 11.1 не работает должным образом с JDK13. Я только что установил JDK 8, и теперь проблема решена без какой-либо дополнительной конфигурации или изменения параметров.

Тем не менее, поскольку мне нужен JDK13, я установил оба, но мой файл netbeans.conf указывает на JDK8. Позже вы можете определить новую платформу Java в конфигурации проекта NetBeans.

Надеюсь, это может помочь.

Приветствия!

1 голос
/ 19 октября 2019

Похоже, что это происходит со всеми недавно выпущенными версиями jdk (по крайней мере, 11.0.5 и 13.0.1), даже с последней версией Netbeans 11.2vc1 (и также замеченной на NB 11.1). Понизьте ваш jdk до 11.0.4 или 13.0.0. Это исправило проблему для меня

0 голосов
/ 11 ноября 2019

У меня была эта ошибка с adopt8-hotspot (AdoptOpenJDK-1.8.0_232-b09) и sbt-0.13.X для старого проекта.

Проблема решена после установки переменной среды в Windows с помощью

set JAVA_TOOL_OPTIONS=-Djdk.lang.Process.allowAmbiguousCommands=true
0 голосов
/ 20 октября 2019

Проблема также возникает в версии jdk-8u231. Исправление установки jdk-8u221 версии

0 голосов
/ 19 октября 2019

У меня была такая же проблема с oracle jdk 13.0.1 и netbeans 11.1, но у меня это работало с openjdk 13.0.1 (https://jdk.java.net/13/).

0 голосов
/ 18 октября 2019

Apache NetBeans 11.1 действительно не поддерживает JDK 13, для этого и нужна будущая бета-версия Apache NetBeans 11.2: bit.ly/apache-netbeans-11-2-beta-3

...