2013-09-24 46 views
1

我從Eclipse Juno中構建的項目創建了一個可運行的.jar文件。該項目使用JRE7和JavaFX庫,我將它們添加到構建路徑中。WindowsXP上的JavaFX錯誤

Build路徑設置 Build Path

.jar文件執行成功的Windows 7機器。然而,當我嘗試在WindowsXP的計算機上運行的.jar文件時,出現以下鏈接錯誤:在WindowsXP中

錯誤 Linking Error

錯誤讀取: Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: com.sun.glass.ui.win.WinApplication._invokeLater(Ljava/lang/Runnable;)V at com.sun.glass.ui.win.WinApplication._invokeLater(Native Method) at com.sun.glass.ui.Application.invokeLater(Application.java:338) at com.sun.javafx.tk.quantum.QuantumToolkit.defer(QuantumToolkit.java:620)

的錯誤發生就像程序試圖加載使用JavaFX的類一樣,WindowsXP機器有JavaFX附帶的Java Version 7 Update 40,所以我無法弄清楚它爲什麼會失敗。

這可能是一個32位與64位的問題?

此外,關於構建路徑設置,我想知道是否包含正確的JavaFX jar文件。我有兩個可供選擇,我不確定哪一個包括。我認爲這是第二個,因爲它是JRE的一部分。

C:\ Program Files文件\的Java \ jdk1.7.0_25 \ JRE \ LIB \ jfxtr.jar

C:\ Program Files文件(x86)的\的Java \ jre7 \ LIB \ jfxtr.jar

謝謝

+0

你把'JavaFX'依賴放入'ant/maven' xml設置文件中嗎? – SeniorJD

+0

不,我通過將項目從Eclipse導出爲可運行的.jar文件來構建它。我需要使用螞蟻還是maven? – Marc

回答

1

1.JavaFX被嵌入到JRE,但它現在仍然是單獨的庫。因此,如果您在項目中使用JavaFX類,JVM應該「知道」這一點。您的*.jar文件應包含有關jfxrt.jar的信息。用於運行應用程序How to do that?

2.JRE文件夾,如*.jar文件。當您從IDE開發應用程序時使用的JDK/JRE文件夾。因此,您應該使用C:\Program Files\Java\jdk1.7.0_25\jre\lib\路徑作爲項目構建路徑的庫。

+0

謝謝!那麼使用maven或ant構建項目與將項目導出爲可運行的.jar文件有什麼區別?難道他們都完成了相同的任務 - 創造一個。jar文件可以在任何計算機上運行? – Marc

+0

對不起,這是另一個問題,當作另一個問題發佈(當然,與SSCCE) – SeniorJD

-1

儘管我付出了所有的努力,但在Eclipse中創建它時無法使用.jar文件在Windows XP中執行。但是當項目從NetBeans中導出時,我可以使其工作。訣竅是:我在NetBeans中創建了一個新的「Swing應用程序中的JavaFX」。這樣,IDE爲JavaFX導入了所有必需的庫。我將Eclipse中的所有.java文件複製到新的NetBeans項目中,並且工作正常。對NetBeans很滿意!

+4

**史詩般的facepalm ** – SeniorJD

+0

其中'所有必要的JavaFX庫'會是? – Math

+0

這不是IDE的錯誤 – JavaDM

0

據我所知,在Windows XP上無法運行JavaFX應用程序。