2012-07-11 96 views
2

我在將包含Swing和JavaFX組件的應用程序打包到JAR文件時遇到問題。從Eclipse運行它很好。但是當執行Jar時,會發生錯誤:運行main方法,這會調用我的應用程序的構造函數。構造函數調用initAndShowGUI()方法,該方法嘗試創建JFXPanel以供稍後添加到JFrame,但失敗並顯示以下錯誤消息:Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: Can't load library: C:\Users\User\bin\glass.dll。這個庫似乎是JavaFX所需要的,但不知何故未加載。 「純粹的」JavaFX應用程序(沒有Swing)稱之爲JFX的「預初始化」方法,用於加載所有需要的庫,我認爲(我不完全確定)。另外,我找到了關於如何部署Java Web Start應用程序或小應用程序(http://docs.oracle.com/javafx/2/deployment/deploy_swing_apps.htm)的信息,但沒有提供有關「標準」JAR的信息。將帶JavaFX組件的Swing應用程序打包爲可執行文件JAR

以前有人做過這個嗎?我一直在尋找一個解決方案,但一直沒有找到。非常感謝幫助!

回答

1

可能你的問題與包裝有關。

你是如何打包應用程序的?

例如:

我知道(至少)最後兩個將工作與JavaFX組件構建一個Swing應用程序到一個可執行的jar。

SwingInterop示例包含一個用於將示例打包到可執行jar中的ant腳本。樣品可從javafx download site下載。

我強烈建議閱讀Why should I use the JavaFX ant tasks for packaging my Swing application?哪篇文章還包含SwingInterop示例構建文件的源代碼。

相關問題