簡體   English   中英

在運行時找不到jfxrt.jar(javafx)

[英]Cannot find jfxrt.jar (javafx) at runtime

我目前僅使用javafx.util程序包中的一個類: Pair ,因為我不想實現自己的Pair類,因此我認為這將是一個合理的解決方案。 但是,我正在與Intellij一起工作,后者似乎知道在哪里可以找到jfxrt.jar,因此我沒有注意到這可能會引起問題。

實際上,當我從Intellij運行我的main時,一切都很好,但是當我嘗試使用Maven和java -jar myapp.jar打包應用程序時,該應用程序需要Pair類,並且顯然找不到它:

Exception in thread "main" java.lang.NoClassDefFoundError: javafx/util/Pair

所以我四處搜尋,這是我可以告訴你的:

  • 我的JDK是1.7.0_40 ,所以我知道jfxrt.jar已捆綁,並找到了它。
  • Maven版本: 3.1.0
  • 我在Windows 7上
  • 我試圖將%JAVA_HOME%\\ lib \\添加到我的PATH變量中,沒有進行任何更改
  • 我試圖在我的pom.xml中添加此系統依賴項:

     <dependencies> <dependency> <groupId>javafx</groupId> <artifactId>jfxrt</artifactId> <version>2.0</version> <scope>system</scope> <systemPath>${java.home}/lib/jfxrt.jar</systemPath> </dependency> </dependencies> 

但這似乎並沒有改變任何東西,即使聽起來很傻,我還是嘗試將jfxrt.jar復制/粘貼到我jar的lib文件夾中,而且令人驚訝的是,它也不起作用...

  • 我像這樣使用maven-assembly-plugin:

     <groupId>minmax</groupId> <artifactId>minmax</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>javafx</groupId> <artifactId>jfxrt</artifactId> <version>2.0</version> <scope>system</scope> <systemPath>${java.home}/lib/jfxrt.jar</systemPath> </dependency> </dependencies> <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <archive> <manifest> <mainClass>fr.tlasnier.jeux.puissance4.ihm.Puissance4Main</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> <executions> <execution> <id>make-assembly</id> <!-- this is used for inheritance merges --> <phase>package</phase> <!-- bind to the packaging phase --> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build> 

如果您有任何建議,請繼續(可能是不依賴javafx的我的Pair問題的另一種解決方案...)

您如何打包應用程序? 您可以嘗試使用maven-assembly-plugin進行打包,有一個名為jar-with-dependencies的描述符將其添加到最終工件中,然后調用mvn package。

jfxrt.jar不在lib文件夾中...

它在lib / ext /中

例如,jdk1.8.0_211 / jre / lib / ext / jfxrt.jar

暫無
暫無

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

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