簡體   English   中英

導入javafx無法解析

[英]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

希望這可以幫助。

對於Java Compiler 8或更高版本,請執行以下操作:

  1. 右鍵單擊項目
  2. 選擇Build Path ----> Add Libraries

然后,您將看到以下屏幕截圖:

選擇JDK 8或以上

確保已下載並安裝了JDK 8或更高版本

按完成按鈕后,代碼中的所有Java FX錯誤都將消失。

注意先決條件:

在NetBeans 8.0.1上安裝並測試了JDK 9

A)確保使用兼容的JDK,如1.8,AND

B)在Eclipse Project Facets中配置兼容的Java版本。

  1. 右鍵單擊Java項目,選擇Properties
  2. 選擇Project Facets,找到Java,設置版本1.8

對於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.

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