2014-11-27 38 views
19

tôi đã cố gắng để tạo ra một JavaFX ứng dụng trong IntelliJ Idea IDE nhưng tôi đã biên dịch lỗi mà nói:không thể giải quyết biểu tượng javafx.application trong IntelliJ Idea IDE

java: gói javafx.application không tồn tại.

Tôi đã thay đổi SDK dự án và Cấp độ ngôn ngữ dự án thành Java 8, đã tải lại dự án nhưng không giúp được gì. Sau đó, tôi đã kiểm tra xem plugin JavaFX đã được bật trong cài đặt chưa.

Tìm kiếm trên Google và StackOverflow không cho tôi thêm ý tưởng về những gì là sai. Cảm ơn bạn đã giúp đỡ trước.

P.S. Tôi đang sử dụng IntelliJ Idea 14.0 với java8.1.0_25 trên hệ điều hành archlinux.

+0

Bạn đang biên dịch với jdk hay jre? chắc chắn rằng nó là jdk. –

+0

http://stackoverflow.com/questions/23746431/jfxrt-jar-not-in-jdk-1-8 – kervin

Trả lời

32

Như được chỉ định here, JavaFX không còn được bao gồm trong openjdk nữa.

Vì vậy, hãy kiểm tra, nếu bạn có <Java SDK root>/jre/lib/ext/jfxrt.jar trên đường dẫn lớp học của bạn dưới Project Structure -> SDKs -> 1.x -> Classpath? Nếu không, đó có thể là lý do tại sao. Hãy thử thêm và xem điều đó có khắc phục được sự cố của bạn hay không, ví dụ: trên Ubuntu, cài đặt gói openjfx với sudo apt-get install openjfx.

+0

Tôi không có tệp này trong Classpath và trong thư mục gốc SDK. Tôi không biết tại sao java của tôi mà tôi đã cài đặt từ AUR không có tệp jfxrt.jar. – rob111

+0

Lời khuyên của tôi là đi đến Oracle và nhận được bản phân phối thích hợp cho hệ điều hành của bạn. –

+0

Cảm ơn bạn Ryan đã trợ giúp bạn. Bạn nói đúng Tôi không có gói jfxrt.jar này được cài đặt trên máy tính xách tay của tôi. Tôi đã kiểm tra trên máy tính khác của tôi có Windows 7 và nó có gói này trong SDK. Tôi cài đặt lại coutple thời gian jdk8-openjdk từ repo Arch tư nhân linux nhưng nó đã không giúp tôi. Tôi quyết định cài đặt java 8 từ trang web oracle. Tôi chưa bao giờ cài đặt một cái gì đó từ một trang web khác trên hệ thống Linux Arch của tôi và phải tìm hiểu làm thế nào để làm điều đó. Cảm ơn bạn Ryan đã giúp đỡ và chúc mừng ngày lễ Tạ Ơn – rob111

7

Bạn cần tải xuống gói java-openjfx từ bản repos chính thức của Arch Linux. (Ngoài ra, hãy đảm bảo bạn có gói openjdk8-openjdk). Sau khi thực hiện điều đó, hãy mở dự án của bạn trong Intellij và đi đến Project-Structure -> SDKs -> 1.8 -> Classpath và thử gỡ bỏ JDK cũ mà bạn đã có và nhấp vào thư mục cho JDK mới, bây giờ sẽ chứa jfxrt.jar.

+0

Điều này không cung cấp câu trả lời cho câu hỏi. Để phê bình hoặc yêu cầu làm rõ từ tác giả, để lại nhận xét bên dưới bài đăng của họ - bạn luôn có thể nhận xét về bài đăng của riêng bạn và sau khi bạn có đủ [danh tiếng] (http://stackoverflow.com/help/whats-reputation), bạn sẽ có thể [nhận xét về bài đăng bất kỳ] (http://stackoverflow.com/help/privileges/comment). - [Từ đánh giá] (/ review/low-quality-posts/11014014) – Irshad

+2

Điều này cho anh ta biết chính xác những gì anh ta cần làm để làm cho Intellij tìm được gói mà hiện tại nó không tìm thấy. Làm thế nào mà không trả lời được câu hỏi của anh? – patterkyle

+3

Trả lời hoàn hảo vấn đề của tôi. – rubikonx9

4

Bạn có thể sử dụng thẻ đi kèm với IntelliJ: <intellij>/jre64/lib/ext/jfxrt.jar.

1

Đây phải là giải pháp hoàn hảo của bạn. Hãy thử và tận hưởng. Nếu một số lệnh không hoạt động đúng nghĩa là nếu bạn gặp lỗi. Hãy tự mình giải quyết nó. Tôi đã cho bạn điều chính mà bạn cần. nếu ứng dụng của bạn ở vị trí khác, Hoặc kiến ​​trúc hệ thống của bạn là khác nhau. tự giải quyết nó. Rất dễ dàng để làm điều này. Chỉ cần làm theo giải pháp của tôi.

Bước 0:

sudo apt-get install openjdk-8-jre 

Bước: 1

sudo apt-get install openjfx 

Bước 2:

sudo cp /usr/share/java/openjfx/jre/lib/ext/* /usr/lib/jvm/java-1.8.0-openjdk-amd64/lib 

Bước 3:

sudo cp /usr/share/java/openjfx/lib/* /usr/lib/jvm/java-1.8.0-openjdk-amd64/lib 

Bước 4:

sudo chmod 777 -R /usr/lib/jvm/java-1.8.0-openjdk-amd64 

bây giờ mở một dự án mới hoặc xây dựng lại dự án của bạn. Chúc may mắn.

Các vấn đề liên quan