2013-05-14 34 views
3

我正在尝试学习javafx。我有一个非常简单的程序在主要方法(作为测试)中打印“Hello World”一次,并在应用程序中打印一次。代码如下所示:UnsatisfiedLinkError与javafx

import javafx.stage.*; 
import javafx.application.*; 

public class HelloApp extends Application 
{ 
    public static void main(String[] args) 
    { 
     System.out.println("Hello World"); 
     launch(args); 
    } 

    public void start(Stage stage) 
    { 
     System.out.println("Hello World"); 
    } 
} 

这给了我以下输出。请注意,它会打印第一个“Hello World”,但不是第二个。

--------------------Configuration: javafx trials - JDK version 1.6.0_07 <Default> - <Default>-------------------- 
Hello World 
Exception in thread "main" java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: Can't load library: C:\Documents and Settings\apcs.LGSUHSD\My Documents\JCreator LE\MyProjects\bin\glass.dll 
at com.sun.javafx.tk.quantum.QuantumToolkit.startup(QuantumToolkit.java:281) 
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:124) 
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:163) 
at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:47) 
at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:115) 
at java.lang.Thread.run(Thread.java:619) 
Caused by: java.lang.UnsatisfiedLinkError: Can't load library: C:\Documents and Settings\apcs.LGSUHSD\My Documents\JCreator LE\MyProjects\bin\glass.dll 
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1650) 
at java.lang.Runtime.load0(Runtime.java:770) 
at java.lang.System.load(System.java:1005) 
at com.sun.glass.utils.NativeLibLoader.loadLibraryFullPath(NativeLibLoader.java:200) 
at com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:88) 
at com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:31) 
at com.sun.glass.ui.Application.loadNativeLibrary(Application.java:73) 
at com.sun.glass.ui.Application.loadNativeLibrary(Application.java:80) 
at com.sun.glass.ui.win.WinApplication$1.run(WinApplication.java:36) 
at com.sun.glass.ui.win.WinApplication$1.run(WinApplication.java:33) 
at java.security.AccessController.doPrivileged(Native Method) 
at com.sun.glass.ui.win.WinApplication.<clinit>(WinApplication.java:33) 
at com.sun.glass.ui.win.WinPlatformFactory.createApplication(WinPlatformFactory.java:20) 
at com.sun.glass.ui.win.WinPlatformFactory.createApplication(WinPlatformFactory.java:17) 
at com.sun.glass.ui.Application.Run(Application.java:103) 
at com.sun.javafx.tk.quantum.QuantumToolkit.startup(QuantumToolkit.java:271) 
... 5 more 

Process completed. 

我不知道为什么会发生这种情况。我在项目中有javafx的jar文件。有人能解释为什么会发生这种情况,我能做些什么?

+2

请参考这个类似问题的答案http://stackoverflow.com/questions/11349303/how-to-make-jar-file-from-javafx-project –

回答

1

如果您正在使用eclipse,请将C:\ Program Files \ Oracle \ JavaFX Runtime \ lib \ jfxrt.jar作为外部jar和重建项目。

+0

需要先安装JavaFX SDK? – ADTC