JavaFX หายไป Ubuntu 18.04


18

ฉันมี Java 8 และ Ubuntu 18.04 ฉันใช้ NetBeans และเมื่อพยายามทำบางอย่างมันไม่สามารถทำได้เพราะ JavaFX หายไป

ฉันติดตั้ง Java JDK กับ NetBeans จากไซต์ของ Oracle และคิดว่าทุกอย่างรวมอยู่ด้วย แต่เห็นได้ชัดว่าฉันตรวจสอบไม่ดี

ฉันควรทำอย่างไรฉันควรติดตั้งอะไร ฉันไม่ค่อยดีเท่านี้และไม่รู้ว่ามีปัญหากับ Ubuntu หรือ Java :(


คำตอบ:


18

ใน Ubuntu 16.04 และที่เก็บเริ่มต้นที่ใหม่กว่า JavaFX ถูกทำแพ็กเกจเป็นแพ็กเกจแยกต่างหากชื่อ openjfx หากต้องการติดตั้งใน Ubuntu 18.04 ให้เปิดเทอร์มินัลแล้วพิมพ์:

sudo apt install openjdk-8-jdk openjfx

ตรวจสอบว่าเลือก JDK 8 เป็นเวอร์ชัน Java เริ่มต้นใน Netbeans -> เครื่องมือ -> ตัวเลือก -> Java -> แท็บNashorn -> คลิกปุ่มจัดการแพลตฟอร์ม -> คลิกปุ่มเพิ่มแพลตฟอร์ม -> คลิกปุ่มตัวเลือกJava Standard Edition -> คลิกปุ่มถัดไป -> เรียกดู/usr/lib/jvm/java-8-openjdk-amd64และเลือกเป็นเวอร์ชัน Java เริ่มต้น

คุณสามารถเลือกติดตั้ง openjdk-11-jdk แทนหรือข้าง openjdk-8-jdk openjfx ทำงานได้กับทั้ง openjdk-8-jdk และ openjdk-11-jdk ใน Netbeans ใน Ubuntu 18.04 ฉันใช้ Netbeans 8.2 10.0 ใน Ubuntu 18.04


ขอบคุณคำสั่งของคุณทำงานได้ แต่ยังอยู่ในไลบรารี java.io ของฉันฉันได้รับข้อผิดพลาดException in thread "main" java.lang.IllegalStateException: Toolkit not initialized... ฉันไม่รู้ว่าทำไม
maria

@Mara ฉันขอโทษฉันพบข้อผิดพลาดที่คุณได้รับในรหัส JavaFX ของฉันเพราะฉันไม่ได้คัดลอกรหัสทั้งหมดไปยังจุดสิ้นสุดใน Pastebin ในครั้งแรกที่ฉันอัปโหลด ฉันทิ้งวงเล็บปีกกาสองอันไว้ที่ท้ายในครั้งแรกที่ฉันอัปโหลด ฉันได้อัปโหลดรหัสอีกครั้งที่นี่ ชื่อโครงการ JavaFX ของฉันใน Netbeans คือ HelloWorldFX
karel

JavaFX ทำงานให้ฉันได้ที่ 18.04 หลังจากติดตั้ง JDK 8 และเปลี่ยน SDK โครงการเป็น 8 (ไม่ต้องการทำงานบน SDK 10) ใน IntelliJ
สาย

ต้องเป็นปัญหาเส้นทาง JDK ใน IntelliJ เพราะ JDK 8 และ 11 ทั้งคู่ทำงานร่วมกันใน Netbeans ใน Ubuntu 18.04 ด้วยแพคเกจ JavaFX เดียวกันสำหรับทั้งคู่
karel

ฉันตรวจสอบฮาร์ดไดรฟ์ทั้งหมดของฉันแล้ว แต่ฉันหา javafx ไม่เจอหลังจากติดตั้ง openjfx มันไม่ได้อยู่ใน / usr / lib / jvm / <jdk> / jre / lib / ext / ที่ฉันพบว่ามันจะอยู่ในอุปกรณ์อื่น ๆ เช่นแล็ปท็อปของฉันทำงาน manjaro : /
Niklas Vest

0

ผมคิดว่าวิธีที่ง่ายที่สุดคือการติดตั้งsdkman เมื่อติดตั้งแล้วให้ตรวจสอบผู้สมัครที่มีอยู่ทั้งหมด:

$ sdk list java

ซึ่งจะแสดงตัวเลือกที่หลากหลาย คุณสามารถเลือกหนึ่งรายการด้วยFXคำต่อท้าย ในกรณีของฉันฉันสามารถเห็นสิ่งนี้:

 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       

ดังนั้นคุณสามารถติดตั้งโดยใช้คำสั่งนี้:

$ sdk install java 11.0.2-zulufx   

หรือ,

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

และคุณจะไปดี! ฉันหวังว่านี่จะช่วยได้! :)


0

ปัญหานี้สามารถแก้ไขได้โดยการเพิ่มพา ธ และโมดูล openjfx เป็นอาร์กิวเมนต์เมื่อเรียกใช้แอปพลิเคชัน javafx ฉันได้โพสต์โซลูชันในลิงก์นี้แล้ว
ขอให้โชคดี
Lotfi

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