Thiếu JavaFX, Ubuntu 18.04


18

Tôi có Java 8 và Ubuntu 18.04. Tôi đang sử dụng NetBeans và khi cố gắng tạo một số chương trình, điều đó không thể thực hiện được vì thiếu JavaFX.

Tôi đã cài đặt Java JDK với NetBeans từ trang web của Oracle và nghĩ rằng mọi thứ đều được bao gồm nhưng rõ ràng tôi đã không kiểm tra tốt.

Tôi nên làm gì, nên cài đặt cái gì? Tôi không giỏi về vấn đề này và không biết vấn đề xảy ra với Ubuntu hay Java. :


Câu trả lời:


18

Trong Ubuntu 16.04 và các kho lưu trữ mặc định sau này, JavaFX được đóng gói dưới dạng một gói riêng có tên openjfx. Để cài đặt nó trong Ubuntu 18.04, hãy mở terminal và gõ:

sudo apt install openjdk-8-jdk openjfx

Kiểm tra xem JDK 8 được chọn làm phiên bản Java mặc định trong Netbeans -> Công cụ -> Tùy chọn -> Java -> tab Nashorn -> nhấp vào nút Quản lý nền tảng -> nhấp vào nút Thêm nền tảng -> nhấp vào nút radio được đánh dấu Phiên bản tiêu chuẩn Java -> nhấp vào nút Tiếp theo -> duyệt đến /usr/lib/jvm/java-8-openjdk-amd64và chọn nó làm phiên bản Java mặc định.

Tùy chọn bạn có thể cài đặt openjdk-11-jdk thay vì hoặc cùng với openjdk-8-jdk. openjfx hoạt động với cả openjdk-8-jdk và openjdk-11-jdk trong Netbeans trong Ubuntu 18.04. Tôi đang sử dụng Netbeans 8.2 10.0 trong Ubuntu 18.04.


Cảm ơn, các lệnh của bạn vẫn hoạt động nhưng vẫn với thư viện java.io của tôi, tôi gặp lỗi Exception in thread "main" java.lang.IllegalStateException: Toolkit not initialized... Tôi không biết tại sao
maria

@Mara Tôi xin lỗi, tôi đã tìm thấy lỗi bạn gặp phải là do mã JavaFX của tôi vì tôi đã không sao chép tất cả mã vào cuối trong Pastebin lần đầu tiên tôi tải nó lên. Tôi đã bỏ qua hai dấu ngoặc nhọn vào cuối lần đầu tiên tôi tải nó lên. Tôi đã tải lại mã ở đây . Tên dự án JavaFX của tôi trong Netbeans là HelloWorldFX.
karel

JavaFX chỉ hoạt động với tôi vào ngày 18.04 sau khi cài đặt JDK 8 VÀ thay đổi SDK dự án thành 8 (không muốn hoạt động trên SDK 10) trong IntelliJ.
Dòng

Đây phải là vấn đề về đường dẫn JDK trong IntelliJ vì cả JDK 8 và 11 đều hoạt động cùng nhau trong Netbeans trong Ubuntu 18.04 với cùng một gói JavaFX cho cả hai.
karel

Tôi đã kiểm tra toàn bộ ổ đĩa cứng của mình nhưng dường như tôi không thể tìm thấy bản phân phối javafx sau khi cài đặt openjfx. nó không có trong / usr / lib / jvm / <jdk> / jre / lib / ext / nơi tôi tìm thấy nó trên các thiết bị khác như máy tính xách tay của tôi đang chạy manjaro. : /
Niklas Vest

0

Tôi nghĩ cách dễ nhất là cài đặt sdkman . Sau khi cài đặt, kiểm tra tất cả các ứng cử viên có sẵn:

$ sdk list java

trong đó sẽ hiển thị một loạt các tùy chọn. Bạn có thể chọn một với FXhậu tố. Trong trường hợp của tôi, tôi có thể thấy một cái gì đó như thế này:

 Azul ZuluFX   |     | 11.0.2       | zulufx  |            | 11.0.2-zulufx       
               |     | 8.0.202      | zulufx  |            | 8.0.202-zulufx      
 BellSoft      |     | 12.0.2       | librca  |            | 12.0.2-librca       
               |     | 11.0.4       | librca  |            | 11.0.4-librca       

Vì vậy, bạn có thể cài đặt nó bằng lệnh này:

$ sdk install java 11.0.2-zulufx   

Hoặc là,

$ sdk install java 8.0.202-zulufx # if you want java 8

Và bạn tốt để đi! Tôi hi vọng cái này giúp được! :)


0

Vấn đề này có thể được khắc phục bằng cách thêm đường dẫn openjfx và các mô-đun làm đối số khi chạy ứng dụng javafx, tôi đã đăng giải pháp trên liên kết này .
Chúc may mắn
Lotfi

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.