Java với maven sẽ không được xây dựng: Không thể chạy chương trình.


20

Tôi đã cài đặt netbean 11.1. Bây giờ tôi đang cố gắng xây dựng một dự án nhưng tôi nhận được kết quả lỗi sau:

Không thể chạy chương trình "cmd" (trong thư mục "C: \ dự án \ mở"): Đối số không đúng đã trích dẫn trích dẫn: "C: \ Chương trình tập tin \ 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

Tôi đã xây dựng dự án này với netbeans 11.1 trước đây nhưng có một máy tính mới. và một bản cài đặt mới, tôi chắc chắn không có vấn đề gì trong lần trước tôi đã cố gắng cài đặt mọi thứ.

Câu trả lời:


14

Mặc dù vấn đề này có thể được khắc phục bằng cách cài đặt jdk1.8.0_221, nhưng thực sự bạn không cần phải hạ cấp JDK của mình. Hãy thử những điều sau:

  1. Đầu tiên thoát IDE netbeans nếu nó mở, sau đó mở tệp cấu hình netbeans từ đây: netbeans-Install-Dir / etc / netbeans.conf (Lưu ý: đối với tôi netbeans-Install-Dir là C: \ Program Files \ NetBeans 8.2 \ etc)
  2. Thêm các đối số dưới đây
-J-Djdk.lang.Process.allowAmbiguousCommands=true
  1. đến đầu chuỗi mà bạn tìm thấy ở dòng này:
netbeans_default_options="-J-client -J-Xss2m -J-Xms32m ......."

Ảnh chụp màn hình mẫu như dưới đây: 4. Lưu thay đổi và khởi động IDE netbeans của bạn.nhập mô tả hình ảnh ở đây


Đây phải là câu trả lời được chấp nhận
ryaugeage

nó hoạt động, cảm ơn rất nhiều
Miguel Rodríguez

53

Tôi đã kiểm tra các ghi chú phát hành cho JDK 13.0.1 tại https://www.oracle.com/technetwork/java/javase/13-0-1-relnotes-5592797.html#JDK-8221858

Hành vi này là một hồi quy từ một bản sửa lỗi bảo mật cho JDK-8221858 (không công khai). Theo liên kết để có một mô tả đầy đủ. Bản sửa lỗi là một phần của JDK 8u231, JDk 11.0.5, 13.0.1, v.v.

Để giải quyết vấn đề này, append -J-Djdk.lang.Process.allowAmbiguousCommands=trueđể netbeans_default_options<netbeans-dir>\etc\netbeans.conf.


1
Các nhà phát triển Netbeans đã chọn ra các báo cáo sự cố này và các báo cáo sự cố gần đây khác và phiên bản phát triển mới nhất (sẽ là 11.2), áp dụng sửa lỗi này, xem danh sách.apache.org/thread.html/ đấm
Peter Hull

7

Bạn có từng cài đặt bản cập nhật quan trọng mới nhất cho java không? jdk 1.7_241? Tôi đã cài đặt nó ngày hôm nay và đã có cùng một vấn đề. Tôi đã hạ cấp phiên bản jdk của tôi và nó đã giải quyết nó hoàn toàn.

EDIT: Xin lỗi, tôi nhận thấy bạn đang sử dụng netbeans 11.1 vì vậy bạn có thể có phiên bản java mới hơn, trong mọi trường hợp, bạn có thể thử hạ cấp phiên bản java của mình xuống phiên bản trước nếu bạn tình cờ cập nhật phiên bản hôm nay vì phiên bản khác có thể có cùng một vấn đề


2
cài đặt jdk1.8.0_221 đã giải quyết nó
busyBee

Hạ cấp JDK không phải là một giải pháp lý tưởng. Một tùy chọn tốt hơn liên quan đến việc chỉnh sửa tệp netbeans.conf bên dưới.
ryvantage

5

Vào thời điểm tôi đang viết, tôi chỉ cài đặt JDK13 trên máy của mình. Sau khi giải nén netbeans của tôi, tôi đã gặp vấn đề tương tự với maven nội bộ của netbeans 11.1.

Rõ ràng netbeans 11.1 không hoạt động đúng với JDK13. Tôi vừa cài đặt JDK 8 và vấn đề bây giờ đã được giải quyết, mà không có bất kỳ thay đổi cấu hình hoặc tham số bổ sung nào.

Không cần thiết, vì tôi cần JDK13, tôi đã cài đặt cả hai nhưng tệp netbeans.conf của tôi đang trỏ đến JDK8. Sau đó, bạn có thể định nghĩa nền tảng Java mới trong cấu hình dự án netbeans.

Tôi hy vọng điều này có thể giúp đỡ.

Chúc mừng!


1
tương tự với jdk-11.0.5
busyBee

5

Tôi đã có lỗi này với adopt8-hotspot (AdoptOpenJDK-1.8.0_232-b09)sbt-0.13.Xcho một dự án cũ.

Vấn đề được giải quyết sau khi thiết lập biến môi trường trong windows thông qua

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

1

Điều này dường như xảy ra với tất cả các phiên bản jdk được phát hành gần đây (ít nhất là 11.0.5 và 13.0.1), ngay cả với Netbeans 11.2vc1 mới nhất (và cũng được chứng kiến ​​trên NB 11.1). Hạ cấp jdk của bạn xuống 11.0.4 hoặc 13.0.0. Nó đã khắc phục sự cố cho tôi



0

Apache NetBeans 11.1 thực sự không hỗ trợ JDK 13, đó là những gì mà Apache NetBeans 11.2 sắp ra mắt dành cho - phiên bản beta mới nhất: bit.ly/apache-netbeans-11-2-beta-3


0

Tôi đã có cùng một vấn đề với oracle jdk 13.0.1 và netbeans 11.1, nhưng nó đã hoạt động với tôi với openjdk 13.0.1 ( https://jdk.java.net/13/ ).


0

chỉ cần thêm -J-Djdk.lang.Process.allowAmbiguptCommands = true với netbeans_default_options trong netbeans.conf

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.