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. ก่อนออกจาก netbeans IDE ถ้าเปิดอยู่ให้เปิดไฟล์การกำหนดค่า 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. บันทึกการเปลี่ยนแปลงและเริ่ม netbeans IDE ของคุณป้อนคำอธิบายรูปภาพที่นี่


นี่ควรเป็นคำตอบที่ยอมรับ
ryvantage

มันได้ผลขอบคุณมาก!
Miguel Rodríguez

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) ได้ใช้การแก้ไขนี้ดูlists.apache.org/thread.html/…
Peter Hull

7

คุณติดตั้งการอัปเดตที่สำคัญล่าสุดสำหรับ Java หรือไม่ jdk 1.7_241? ฉันติดตั้งในวันนี้และมีปัญหาเดียวกันแน่นอน ฉันปรับลดรุ่น jdk ของฉันและแก้ไขได้อย่างสมบูรณ์

แก้ไข: ขอโทษฉันสังเกตเห็นว่าคุณกำลังใช้ netbeans 11.1 ดังนั้นคุณอาจมีรุ่น java ในภายหลังไม่ว่าในกรณีใดคุณสามารถลองลดระดับรุ่น java ของคุณเป็นรุ่นก่อนหน้าหากคุณเกิดขึ้นเพื่อปรับปรุงในวันนี้เนื่องจากรุ่นอื่น ๆ อาจมี ปัญหาเดียวกัน.


2
การติดตั้ง jdk1.8.0_221 แก้ไขได้แล้ว
busyBee

การลดระดับ JDK ไม่ใช่โซลูชันที่เหมาะสมที่สุด ตัวเลือกที่ดีกว่าเกี่ยวกับการแก้ไขไฟล์ netbeans.conf อยู่ด้านล่าง
ryvantage

5

ตอนที่ฉันเขียนฉันมีเพียง JDK13 ติดตั้งบนเครื่องของฉันเท่านั้น หลังจากคลายซิป netbeans ของฉันฉันมีปัญหาเดียวกันกับ maven ภายในของ netbeans ของฉัน 11.1

เห็นได้ชัดว่า netbeans 11.1 ทำงานไม่ถูกต้องกับ JDK13 ฉันเพิ่งติดตั้ง JDK 8 และตอนนี้ปัญหาได้รับการแก้ไขโดยไม่มีการกำหนดค่าเพิ่มเติมหรือการเปลี่ยนแปลงพารามิเตอร์

ไม่เลยเนื่องจากฉันต้องการ JDK13 ฉันได้ติดตั้งทั้งคู่แล้ว แต่ไฟล์ netbeans.conf ของฉันชี้ไปที่ JDK8 ในภายหลังคุณสามารถกำหนดแพลตฟอร์ม Java ใหม่ในการกำหนดค่าโครงการ netbeans

ฉันหวังว่านี่จะช่วยได้

ไชโย!


1
เดียวกันสำหรับ jdk-11.0.5
busyBee

5

ฉันมีข้อผิดพลาดนี้กับadopt8-hotspot (AdoptOpenJDK-1.8.0_232-b09)และsbt-0.13.Xสำหรับโครงการเก่า

แก้ไขปัญหาหลังจากตั้งค่าตัวแปรสภาพแวดล้อมใน windows ผ่าน

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



โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.