Java з maven не збирається: Не вдається запустити програму "cmd"


20

У мене свіжа установка 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 раніше, але маю новий ПК. і свіжа установка, тому я впевнений, що не було жодної проблеми, коли я намагався встановити все.

Відповіді:


13

Хоча цю проблему можна усунути, встановивши jdk1.8.0_221, але насправді вам не потрібно знижувати JDK. Просто спробуйте:

  1. Перший вихід ID ID Netbeans, якщо він відкритий, потім відкрийте файл конфігурації netbeans звідси: netbeans-Install-Dir / etc / netbeans.conf (Примітка: для мене netbeans-Install-Dir є C: \ Program Files \ NetBeans 8.2 \ etc.)
  2. Додайте нижче наведені аргументи
-J-Djdk.lang.Process.allowAmbiguousCommands=true
  1. до початку рядка, який ви знайдете в цьому рядку:
netbeans_default_options="-J-client -J-Xss2m -J-Xms32m ......."

Зразок скріншота, як показано нижче: 4. Збережіть зміни та запустіть свій IDE Netbeans.введіть тут опис зображення


Це має бути прийнята відповідь
ryvantage

це працює, велике спасибі!
Мігель Родрігес

53

Я перевірив нотатки до випуску 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.


1
Розробники Netbeans взяли участь у цьому та інших останніх звітах про проблеми, і в останній версії розробки (яка буде 11.2) застосовано це виправлення, див. List.apache.org/thread.html/…
Peter Hull

7

Ви випадково встановили останнє критичне оновлення для Java? jdk 1.7_241? Я встановив це сьогодні і мав абсолютно таку ж проблему. Я знизив свою версію jdk, і вона повністю її вирішила.

EDIT: Вибачте, я помітив, що ви використовуєте netbeans 11.1, тому ви, мабуть, маєте пізнішу версію Java, у будь-якому випадку, ви можете спробувати зменшити версію java до попередньої версії, якщо вам трапилось оновити її сьогодні, оскільки інша версія може мати та ж проблема.


2
встановлення jdk1.8.0_221 вирішило це
зайнятоBee

Пониження рівня JDK не є ідеальним рішенням. Нижче наведено кращий варіант редагування файлу netbeans.conf.
ryvantage

5

На той час, коли я пишу, у мене на моїй машині був встановлений лише JDK13. Після розпакування моїх сітчастих бобів у мене така ж проблема з внутрішньою мережею моїх сіток 11.1.

Мабуть, netbeans 11.1 не працює належним чином з JDK13. Щойно я встановив JDK 8, і тепер проблема вирішена без додаткової конфігурації чи зміни параметрів.

Тим не менш, оскільки мені потрібен JDK13, у мене встановлено обидва, але мій файл netbeans.conf вказує на JDK8. Пізніше ви можете визначити нову платформу Java в конфігурації проекту netbeans.

Я сподіваюся, що це може допомогти.

Ура!


1
те ж саме стосується jdk-11.0.5
зайнятоBee

5

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

Проблема вирішена після встановлення змінної середовища у windows via

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

1

Здається, це трапляється з усіма нещодавно випущеними версіями jdk (принаймні 11.0.5 та 13.0.1), навіть із останньою Netbeans 11.2vc1 (і свідчить також про NB 11.1). Зменшіть jdk до 11.0.4 або 13.0.0. Це вирішило для мене питання



0

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



Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.