Java dengan maven tidak akan membangun: Tidak dapat menjalankan program "cmd" "Argumen cacat telah menyematkan kutipan"

20

Saya baru saja menginstal netbean 11.1. Sekarang saya mencoba untuk membangun sebuah proyek tetapi saya mendapatkan output kesalahan berikut:

Tidak dapat menjalankan program "cmd" (dalam direktori "C: \ projects \ open"): Argumen salah telah menyematkan kutipan: "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

Saya telah membangun proyek ini dengan netbeans 11.1 sebelumnya tetapi memiliki pc baru. dan instal baru, saya yakin tidak ada masalah terakhir kali saya mencoba menginstal semuanya.

sibukBee
sumber

Jawaban:

14

Meskipun masalah ini dapat diperbaiki dengan menginstal jdk1.8.0_221, tetapi sebenarnya Anda tidak perlu menurunkan versi JDK Anda. Coba saja ini:

  1. Pertama keluar dari netbeans IDE jika terbuka, kemudian buka file konfigurasi netbeans dari sini: netbeans-Install-Dir / etc / netbeans.conf (Catatan: bagi saya netbeans-Install-Dir adalah C: \ Program Files \ NetBeans 8.2 \ etc)
  2. Tambahkan argumen di bawah ini
-J-Djdk.lang.Process.allowAmbiguousCommands=true
  1. ke awal string yang Anda temukan di baris ini:
netbeans_default_options="-J-client -J-Xss2m -J-Xms32m ......."

Contoh tangkapan layar seperti yang ditunjukkan di bawah ini: 4. Simpan perubahan dan mulai IDE netbeans Anda.masukkan deskripsi gambar di sini

Ali Safari
sumber
Ini seharusnya jawaban yang diterima
ryvantage
itu berhasil, terima kasih banyak!
Miguel Rodríguez
53

Saya telah memeriksa catatan rilis untuk JDK 13.0.1 di https://www.oracle.com/technetwork/java/javase/13-0-1-relnotes-5592797.html#JDK-8221858

Perilaku ini merupakan regresi dari perbaikan keamanan untuk JDK-8221858 (bukan publik). Ikuti tautan untuk deskripsi lengkap. Perbaikannya adalah bagian dari JDK 8u231, JDk 11.0.5, 13.0.1 dll.

Untuk mengatasi masalah ini, append -J-Djdk.lang.Process.allowAmbiguousCommands=trueke netbeans_default_optionsdalam <netbeans-dir>\etc\netbeans.conf.

Sephiroth
sumber
1
Pengembang Netbeans telah mengambil ini dan laporan masalah terbaru lainnya dan versi pengembangan terbaru (yang akan menjadi 11.2) telah menerapkan perbaikan ini, lihat lists.apache.org/thread.html/…
Peter Hull
7

Apakah Anda kebetulan menginstal pembaruan kritis terbaru untuk java? jdk 1.7_241? Saya menginstalnya hari ini dan mengalami masalah yang sama persis. Saya menurunkan versi jdk saya dan menyelesaikannya sepenuhnya.

EDIT: Maaf, saya perhatikan Anda menggunakan netbeans 11.1 sehingga Anda mungkin memiliki versi java yang lebih baru, dalam hal apa pun, Anda dapat mencoba menurunkan versi versi java Anda ke rilis sebelumnya jika Anda memperbaruinya hari ini karena versi lain mungkin memiliki permasalahan yang sama.

angusg96
sumber
2
menginstal jdk1.8.0_221 menyelesaikannya
busyBee
Menurunkan versi JDK bukanlah solusi yang ideal. Opsi yang lebih baik melibatkan pengeditan file netbeans.conf di bawah ini.
ryvantage
5

Pada saat saya sedang menulis, saya hanya menginstal JDK13 pada mesin saya. Setelah membuka ritsleting netbeans saya, saya punya masalah yang sama dengan pakar internal dari netbeans saya 11.1.

Rupanya netbeans 11.1 tidak bekerja dengan baik dengan JDK13. Saya baru saja menginstal JDK 8 dan masalahnya sekarang sudah terpecahkan, tanpa konfigurasi tambahan atau perubahan parameter.

Nontheless, karena saya membutuhkan JDK13, saya sudah menginstal tetapi file netbeans.conf saya menunjuk ke JDK8. Kemudian, Anda dapat mendefinisikan platform Java baru dalam konfigurasi proyek netbeans.

Saya harap ini bisa membantu.

Bersulang!

marcello
sumber
1
Hal yang sama berlaku untuk jdk-11.0.5
busyBee
5

Saya memiliki kesalahan ini dengan adopt8-hotspot (AdoptOpenJDK-1.8.0_232-b09)dan sbt-0.13.Xuntuk proyek lama.

Masalah terpecahkan setelah mengatur variabel lingkungan di windows via

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

Tampaknya terjadi dengan semua versi jdk yang baru dirilis (setidaknya 11.0.5 dan 13.0.1), bahkan dengan Netbeans 11.2vc1 terbaru (dan disaksikan di NB 11.1 juga). Turunkan jdk Anda ke 11.0.4 atau 13.0.0. Itu memperbaiki masalah bagi saya

Pierre Maréchal
sumber
1

Masalahnya juga terjadi pada versi jdk-8u231. Memperbaiki menginstal versi jdk-8u221

Felipe Moreira Jorge
sumber
0

Apache NetBeans 11.1 memang tidak mendukung JDK 13, untuk itulah Apache NetBeans 11.2 mendatang - beta terbaru: bit.ly/apache-netbeans-11-2-beta-3

Geertjan Wielenga
sumber
0

Saya memiliki masalah yang sama dengan oracle jdk 13.0.1 dan netbeans 11.1, tetapi berhasil bagi saya dengan openjdk 13.0.1 ( https://jdk.java.net/13/ ).

govojo
sumber
0

tambahkan saja -J-Djdk.lang.Process.allowAmbiguousCommands = true ke netbeans_default_options di netbeans.conf

Ahmad Haj Abdulla
sumber