[英]The import javafx cannot be resolved
我今天在我的Ubuntu Linux上安裝了Eclipse IDE,然后使用“安裝新軟件”安裝了JavaFX,當我創建一個javafx項目時,我在Main.java中收到以下錯誤:
導入javafx無法解析。
所以,我列出了以下目錄來搜索“jfxrt.jar”:
ls -l /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext
但我沒找到“jfxrt.jar”。
java -version
輸出:
openjdk版“1.8.0_45-internal”
OpenJDK運行時環境(build 1.8.0_45-internal-b14)
OpenJDK 64位服務器VM(內置25.45-b02,混合模式)
根據Ubuntu Vivid中的包列表 ,有一個名為openjfx的包。 這應該是您正在尋找的候選人:
JavaFX / OpenJFX 8 - 用於Java的富客戶端應用程序平台
您可以通過以下方式安裝:
sudo apt-get install openjfx
它為Ubuntu系統上的OpenJDK安裝提供以下JAR文件 :
/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/jfxrt.jar
/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jfxswt.jar
/usr/lib/jvm/java-8-openjdk-amd64/lib/ant-javafx.jar
/usr/lib/jvm/java-8-openjdk-amd64/lib/javafx-mx.jar
希望這可以幫助。
A)確保使用兼容的JDK,如1.8,AND
B)在Eclipse Project Facets中配置兼容的Java版本。
對於Java 11,此錯誤也會出現,因為JavaFX已從Java 11中刪除並作為獨立版本提供
更多信息: https : //blogs.oracle.com/java-platform-group/the-future-of-javafx-and-other-java-client-roadmap-updates
以下是如何使用Maven在Ubuntu Linux上進行設置:
1)安裝OpenJFX包,檢查文件放在哪里。
sudo apt install openjfx
dpkg-query -L openjfx
您最終可能會得到JDK 11的版本。在這種情況下,要么安裝新的OpenJDK,要么為JDK 8設置OpenJFX版本。
2)將它作為system
范圍的依賴項放到Maven項目中。
請注意,這是一種懶惰且不那么好的方式。 你應該正確安裝這樣的罐子:
dpkg-query -L openjfx | grep -E '.jar$' | xargs -l -I{} \\ mvn install:install-file -Dfile="{}" -DgroupId=javafx \\ -DartifactId=$(echo $JAR | tr '.' '-') -Dversion=1.0 -Dpackaging=jar
然后將其用作普通的
compile-scoped
依賴項。
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.source.level>1.8</project.source.level>
<project.target.level>1.8</project.target.level>
<javafx.dir>/usr/share/openjfx/lib</javafx.dir>
</properties>
<dependencies>
<!-- JavaFx :
sudo apt install openjfx
dpkg-query -L openjfx
-->
<dependency>
<groupId>javafx</groupId>
<artifactId>javafx-base</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${javafx.dir}/javafx.base.jar</systemPath>
</dependency>
<dependency>
<groupId>javafx</groupId>
<artifactId>javafx-controls</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${javafx.dir}/javafx.controls.jar</systemPath>
</dependency>
<dependency>
<groupId>javafx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${javafx.dir}/javafx.fxml.jar</systemPath>
</dependency>
<dependency>
<groupId>javafx</groupId>
<artifactId>javafx-graphics</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${javafx.dir}/javafx.graphics.jar</systemPath>
</dependency>
<dependency>
<groupId>javafx</groupId>
<artifactId>javafx-media</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${javafx.dir}/javafx.media.jar</systemPath>
</dependency>
<dependency>
<groupId>javafx</groupId>
<artifactId>javafx-swing</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${javafx.dir}/javafx.swing.jar</systemPath>
</dependency>
<dependency>
<groupId>javafx</groupId>
<artifactId>javafx-web</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${javafx.dir}/javafx.web.jar</systemPath>
</dependency>
</dependencies>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.