3

ubuntu Linux で基本的な javafx アプリケーションを実行しようとすると、次のエラーが表示されます。コマンドラインまたは netbeans を使用してアプリケーションを実行すると、エラーが表示されます。

Exception in thread "main" java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: Can't load library: /home/venkat/.m2/repository/com/oracle/javafx/javafx/2.1.0-beta/i386/libglass.so
at com.sun.javafx.tk.quantum.QuantumToolkit.startup(QuantumToolkit.java:277)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:90)
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:722)
Caused by: java.lang.UnsatisfiedLinkError: Can't load library: /home/venkat/.m2/repository/com/oracle/javafx/javafx/2.1.0-beta/i386/libglass.so
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1828)
at java.lang.Runtime.load0(Runtime.java:792)
at java.lang.System.load(System.java:1059)
at com.sun.glass.utils.NativeLibLoader.loadLibraryFullPath(NativeLibLoader.java:143)
at com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:56)
at com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:31)
at com.sun.glass.ui.Application$1.run(Application.java:75)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.glass.ui.Application.loadNativeLibrary(Application.java:73)
at com.sun.glass.ui.Application.loadNativeLibrary(Application.java:85)
at com.sun.glass.ui.gtk.GtkPlatformFactory.<clinit>(GtkPlatformFactory.java:23)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at com.sun.glass.ui.PlatformFactory.getPlatformFactory(PlatformFactory.java:20)
at com.sun.glass.ui.Application.Run(Application.java:108)
at com.sun.javafx.tk.quantum.QuantumToolkit.startup(QuantumToolkit.java:267)
... 5 more
4

1 に答える 1

6

この例外は、maven がクラスパスでネイティブ ライブラリを見つけることができないために発生します。

ネットビーンズ

実行プロファイル内に JVM 引数を追加することで、問題を解決できます。

-Djava.library.path=/home/venkat/Programs/javafx/2.1.0-beta/rt/lib/i386/

画像

ここに画像の説明を入力

コマンドライン

コマンドラインでアプリを実行しようとしたときに同じ問題に直面した場合は、次のエクスポートで修正できます。

export JAVAFX_HOME=/home/venkat/Programs/javafx/2.1.0-beta

export CLASSPATH=\$JAVAFX_HOME/rt/lib/jfxrt.jar

export LD_LIBRARY_PATH=/home/venkat/Programs/javafx/2.1.0-beta/rt/lib/i386/

上記の最初の 2 つの env 変数は、javafx ランタイムが見つからない場合に見られるクラスパスの問題を修正します。

于 2012-12-23T06:12:59.513 に答える