Có thể chạy JavaFx ở chế độ không đầu (trong Java 7) không? Nó đang được sử dụng để tạo ra hình ảnh trên máy chủ nhưng đang yêu cầu một X-Server. Có tồn tại một cái gì đó như java.awt.headless trong JavaFx? (Tôi không thể sử dụng Xvfb)JavaFx ở chế độ không đầu
Trả lời
Đây là một loại vấn đề mà tôi gặp phải trong khi chụp ảnh trong Mac OS.
Tôi đã giải quyết vấn đề này bằng cách sử dụng
static {
System.setProperty("java.awt.headless", "false");
}
Xem để tham khảo: Headless environment error in java.awt.Robot class with MAC OS
trả lời bởi Shreyas Dave không làm việc cho tôi nữa. Mặc dù tôi không biết tại sao, đây là những gì tôi đã làm:
public static void main(String[] args) {
// to avoid
// [JRSAppKitAWT markAppIsDaemon]: Process manager already initialized: can't fully enable headless mode.
System.setProperty("javafx.macosx.embedded", "true");
java.awt.Toolkit.getDefaultToolkit();
// end
launch(args);
}
này cũng được chỉ ra ở đây: JavaFX screencapture headless exception on OSX
Dưới đây là cách tôi giải quyết vấn đề này cho geneartion hình server-side trên Ubuntu môi trường Linux với máy chủ ứng dụng jetty. Nó sử dụng Xvfb nhưng chỉ như là một "thư viện" - mà không có bất cứ hành động đặc biệt bổ sung trên máy chủ:
apt-get install xvfb
// then on application server start:
export DISPLAY=":99"
start-stop-daemon --start --background --user jetty --exec "/usr/bin/sudo" -- -u jetty /usr/bin/Xvfb :99 -screen 0 1024x768x24
Bạn có thể xem chi tiết về giải pháp tạo file server-side của tôi trong this SO question.
Nếu bạn có mã nguồn của ứng dụng JavaFX, bạn cũng có thể thử sử dụng TestFX chạy ứng dụng ở chế độ không đầu, để điều khiển và tạo ảnh chụp màn hình. Để chạy ứng dụng TestFX bạn trong chế độ không đầu bạn phải bắt đầu nó với các thông số JVM sau (để cho phép Monocle):
-Dtestfx.robot=glass -Dglass.platform=Monocle -Dmonocle.platform=Headless -Dprism.order=sw
Hơn nữa bạn có thể cần phải cài đặt Monocle đầu tiên. Xem Headless testing with JavaFx and TestFx để biết thêm thông tin.
Điều này không hoạt động. –
Vâng, nó hoạt động trên máy chủ Linux không đầu của tôi. Nhưng tôi thừa nhận rằng nó không tầm thường để thiết lập. Và tôi đã thử nó chỉ trong sự kết hợp với TestFX. Vì vậy, nó có thể không hoạt động với các ứng dụng JavaFX bình thường. Bạn đã cài đặt Monocle đúng chưa? –
Tôi quản lý để làm cho nó hoạt động với một mắt. –
- 1. Thực hiện tác vụ ở chế độ nền trong JavaFX
- 2. Bộ điều khiển chế độ xem sẽ không bắt đầu ở chế độ ngang
- 3. Emacs sao chép chức năng M-RET của chế độ org ở chế độ đầu tiên
- 4. Chế độ xem lớp phủ ở đầu chế độ xem danh sách?
- 5. Di chuyển đến đầu dòng khi ở chế độ Insert
- 6. Ứng dụng iOS bắt đầu ở chế độ ngang
- 7. phát video ở đầu chế độ xem OpenGL trong android
- 8. Chế độ Viper ở tất cả các chế độ
- 9. Emacs: Tắt chế độ in đẹp ở chế độ vợt
- 10. android: bắt đầu ở chế độ bàn phím biểu tượng nhưng không giới hạn ở đầu vào chỉ số
- 11. Chế độ xem chia nhỏ ở chế độ dọc!
- 12. ngày chế độ org ở các chế độ Emacs khác
- 13. Bật chế độ linum khi ở chế độ python/c
- 14. Powershell ở chế độ NonInteractive
- 15. SEGFAULT ở chế độ -O3?
- 16. Không thể tối đa hóa Cửa sổ Chrome ở chế độ không đầu
- 17. JavaFX: Nhúng trình duyệt khác với chế độ xem web khả dụng với JavaFX
- 18. vim: undo newline ở chế độ chèn?
- 19. iOS - Quay video ở chế độ ngang trong khi thiết bị ở chế độ dọc
- 20. Tập tin mở VIM ở chế độ chia dọc ở chế độ chỉ đọc
- 21. Bàn phím mở ở chế độ toàn màn hình ở chế độ ngang
- 22. Chạy chế độ quirks trong một chế độ khung và chế độ chuẩn ở chế độ khác?
- 23. Số trang số trang JavaFX 8 ở đầu trang
- 24. Đọc kallsyms ở chế độ người dùng
- 25. Dự án sẽ không bắt đầu ở chế độ gỡ lỗi
- 26. Có select_for_update thả khóa vào lần lưu đầu tiên() hoặc ở cuối chế độ xem không?
- 27. Khung chơi không ràng buộc cổng ở chế độ "Bắt đầu"
- 28. Jquery có hoạt động tốt ở chế độ quirks không?
- 29. Thêm chế độ xem ở cuối Webview
- 30. AlarmManager không hoạt động ở chế độ ngủ
Điều này chỉ dành cho Swing và AWT, chứ không phải JavaFX – ldmtwo
Tôi đã thử nó một mình, và nó hoạt động 100%. Có lẽ trường hợp của bạn là một cái gì đó khác nhau. Đọc liên kết tham chiếu được chia sẻ. –