簡體   English   中英

Linux Mint java和JavaFX

[英]Linux Mint java and JavaFX

我正在運行Linux Mint 19.1並安裝了OpenJDK Runtime Environment。 我沒有安裝eclipse, 這個問題沒有提供足夠的細節來說明OP的問題實際上是什么,盡管有標題,它似乎並不特別相關。

> java --version
OpenJDK Runtime Environment (build 11.0.3+7-Ubuntu-1ubuntu218.04.1)
OpenJDK 64-Bit Server VM (build 11.0.3+7-Ubuntu-1ubuntu218.04.1, mixed mode, sharing)

自從安裝Java以來​​,我還使用在Ask Ubuntu上找到的信息安裝了javafx apt報告以下內容:

> sudo apt install openjdk-11-jdk openjfx
...
  openjdk-11-jdk is already the newest version (11.0.3+7-1ubuntu2~18.04.1).
  openjfx is already the newest version (11.0.2+1-1~18.04.2).

我現在遇到的問題是行import javafx; 導致以下錯誤:

> java CheckJavaFX.java
CheckJavaFX.java:1: error: package javafx.application does not exist
import javafx.application.Application;
                     ^
1 error
error: compilation failed

我該如何解決這個問題?

根據您的所作所為:

sudo apt install openjdk-11-jdk openjfx

你安裝了兩件不同的東西:

  • 一方面, openjdk-11-jdk根據這個細節安裝最新的JDK 11.0.3。

  • 另一方面, openjfx根據安裝了JavaFX 11.0.2。

如果你檢查后者,你只是將JavaFX SDK(JavaFX jar和本機庫)下載到給定位置,但是你沒有將它與JDK捆綁在一起。

這解釋了您得到的錯誤,因為JDK沒有包含任何JavaFX模塊:

錯誤:包javafx.application不存在

即使您嘗試執行“手動合並”,通過將這些文件復制到JDK位置,也無法正常工作。

要直接從SDK使用JavaFX 11+,您必須將jar添加到模塊路徑,如https://openjfx.io/openjfx-docs/中的文檔中所述。

或者,您可以使用不需要SDK的Maven或Gradle構建工具和JavaFX插件,並使用Maven Central來檢索JavaFX模塊。

最后,如果您希望使用與JDK捆綁的JavaFX(沒有模塊路徑),您可以下載捆綁它的不同發行版(其中有一些),或者您可以“合並”JDK和JavaFX SDK本身,生成一個結合兩者的自定義圖像,如下所述: https//openjfx.io/openjfx-docs/#modular ,自定義JDK + JavaFX圖像部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM