2015-02-02 38 views
5

Tôi đang cố gắng chạy Esemble8.jar trên pi RaspBerry mới của mình. Tôi đi theo hướng dẫn này: http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/RaspberryPiFX/raspberryfx.htmlJavaFx Ensemble on Raspberry pi

tôi đã có thể cài đặt Java8 nhưng khi tôi cố gắng chạy Ensemble8.jar (hoặc bất kỳ ứng dụng JavaFX nhỏ khác) Tôi đã lỗi này:

Error: Could not find or load main class ensemble.EnsembleApp 

PATH của tôi là chính xác; có một số gợi ý để khắc phục sự cố không?

Cảm ơn!

+0

Bạn đang sử dụng phiên bản JDK8 nào? –

+0

root @ raspberrypi: ~ # java -version phiên bản java "1.8.0_33" Môi trường chạy thử Java (TM) SE (xây dựng 1.8.0_33-b05) Máy khách Java HotSpot (TM) VM (xây dựng 25.33-b05, chế độ hỗn hợp) – drenda

Trả lời

15

Kể từ phiên bản 8u33 cho ARM, Oracle đã loại bỏ JavaFX khỏi bản phân phối ARM, vì nó đã được công bố here.

Bạn có thể đọc một số báo cáo về vấn đề này ở các diễn đàn:

  • Raspberry Pi Forum (bây giờ nó ẩn)
  • OpenJFX Mailing list

Vì vậy, bạn sẽ không thể chạy bất kỳ ứng dụng JavaFX nào ... trừ khi bạn hạ cấp phiên bản của mình xuống JDK8u6 cuối cùng đã hỗ trợ JavaFX hoặc bạn cung cấp jfxrt.jar hợp lệ.

Và bạn có thể thực hiện theo sau tutorial, xây dựng chéo OpenJFX cho ARM hoặc chỉ sử dụng một số phân phối đã được xây dựng như thế này one được lưu trữ trên dự án JavaFXPorts.

Một khi bạn đã tải về armv6hf-sdk.zip, giải nén nó và bạn cần phải thêm tùy chọn này dòng lệnh để đính kèm nguồn bên ngoài này vào classpath, với cơ chế mở rộng:

-Djava.ext.dirs=<path to armv6hf-sdk>/rt/lib/ext 

Ví dụ, bạn cần điều này để chạy một trong các mẫu cũ JavaFX từ đường dẫn thực tế của nó:

sudo /opt/jdk1.8.0_33/bin/java -Djava.ext.dirs=<path to armv6hf-sdk>/rt/lib/ext -jar BrickBreaker.jar 
+3

Bạn có thể xem xét cài đặt (sao chép hoặc liên kết tượng trưng) nội dung của 'rt/lib/ext' và' rt/lib/ext' trực tiếp vào JVM của bạn, ví dụ: '/ opt/jdk1.8.0_33/jre/lib/ext' và '/ opt/jdk1.8.0_33/jre/lib/arm' tương ứng. Điều này sẽ loại bỏ nhu cầu chạy các ứng dụng với chỉ thị '-Djava.ext.dirs = /rt/lib/ext' –

+1

Tôi đã thử tải xuống' armv6hf-sdk.zip' và thêm nó vào thư mục dự án. Tôi đã thêm 'javafx-mx.jar',' jfxrt.jar' và 'jfxswt.jar' vào thư viện dự án của mình và trong thư mục đầu ra. Tuy nhiên, stil pi của tôi nói rằng nó không thể tìm thấy lớp học chính. –

+1

@ JoëlAbrahams Kiểm tra [câu hỏi này] (http://stackoverflow.com/questions/40481455/running-javafx-gui-on-the-raspberry-pi/40483500#40483500) –

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