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.

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


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.


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.


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!


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

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



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



0

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.