Tôi đang sử dụng máy Linux Mint nơi tôi đã cài đặt phiên bản Java mới nhất (HotSpot VM 1.7.0_45) và sử dụng Gradle 1.8. Tôi cũng đã cài đặt Groovy, phiên bản 1.8.6, nhưng tôi nghĩ rằng không quan trọng như Gradle có groovy-all.jar của riêng nó.Gradle không tìm thấy các lớp JavaFX
Vấn đề của tôi là tôi không thể biên dịch dự án Groovy của tôi bằng cách sử dụng gradle vì các lớp JavaFX dường như không có trong classpath. Các lỗi là như thế này:
unable to resolve class javafx.scene.Node
@ line 3, column 1.
import javafx.scene.Node
Cuối cùng tôi cố định này bằng cách thêm khủng khiếp con đường mã hóa cứng sau vào phụ thuộc của tôi:
compile files("/usr/lib/jvm/java-7-oracle/jre/lib/jfxrt.jar")
Có cách nào tốt hơn để thêm JavaFX để classpath biên soạn Gradle của quá rằng nó có thể nhìn thấy tất cả các dự án của tôi mà không cần phải thêm nó vào mỗi một trong số chúng?
Tôi đã thử tất cả mọi thứ tôi có thể tưởng tượng:
- thêm jfxrt.jar tiêu chuẩn JRE (Tôi khẳng định gradle đang sử dụng java tiêu chuẩn của tôi để chạy)
ext
thư mục, vì vậy mà tôi bây giờ có thể biên dịch các lớp java với javac và chạy chúng vớijava
(Tôi biết rằng trong phiên bản Java này, JavaFX jar nên đã có trong classpath của JDK, nhưng tôi vẫn không thể RUN, trái ngược với biên dịch, ứng dụng Java của tôi trước khi làm điều này). cũng đã thêm một liên kết mềm để jar cùng trong classpath groovy, vì vậy mà tôi có thể làm điều gì đó giống như hình dưới đây từ vỏ groovy và nó hoạt động:
nhập khẩu javafx.application.Application như A; println A
Điều này cũng hoạt động trong Groovy Console.
Nó chỉ không hoạt động ở Gradle!
Cảm ơn bạn đã được trợ giúp.
Cảm ơn thông tin. – Renato