質問

私は単純な日食ビューからJavafx 2を使用しようとしていますが、私は

java.lang.unsatisfiedlinkerror:クラスの無効なURL:bundleresource://435.fwk1827795025/com/sun/glass/utils/nativelibloader.class

JADとのいくつかの調査の後、Nativelibloaderが非常に興味深いチェックを持っていることがわかりました。

if(!classUrlString.startsWith("jar:file:") || classUrlString.indexOf("!") == -1)
    throw new UnsatisfiedLinkError((new StringBuilder()).append("Invalid URL for class: ").append(classUrlString).toString());

これは、JavafxをOSGIバンドルから使用できないことを意味しますか?私が間違っていることを証明してください。

役に立ちましたか?

解決

Javafxローダーを更新します OSGIとフレンドリー 「ロンバード」リリースが予定されています(これは Javafx 3.0時間枠, 、IE 2013)。それまでは、OSGIバンドルからJavafxで作業する問題に遭遇する可能性があります。他のOSGI関連の問題は、でOSGIを検索することで見つけることができます Javafx Jira (誰でもサインアップして、そこにリストされているバグや問題を表示できます)。 トム・シンドル, 、の作成者 E(FX)クリプス EclipseのJavafxのプラグインは、EclipseにJavafxを統合する経験を持つ最良の接触点です。

他のヒント

Javafx 2.0を使用するEclipse ViewPartを作成およびエクスポートする方法をステップバイステップのチュートリアルをリリースしました。見る http://www.efxclipse.org/trac/wiki/tutorial3

E(FX)Clipseには、このための魔法使いがあります。次をご覧ください:http://www.efxclipse.org/trac/wiki/tutorial2

このHello Worldコードでビューをすばやくテストできます。

public class MyViewPart extends FXViewPart {

    @Override
    protected Scene createFxScene() {
        Button btn = new Button();
        btn.setText("Say 'Hello World!'");
        btn.setOnAction(new EventHandler<ActionEvent>() {
            @Override
            public void handle(ActionEvent arg0) {
                System.out.println("Hello World!");
            }
        });
        StackPane root = new StackPane();
        root.getChildren().add(btn);

        return new Scene(root,300,200);
    }

    @Override
    protected void setFxFocus() {}
}

pls。この簡単な手順に従ってください:

  1. Eclipseで「既存のJARアーカイブからのプラグイン」を作成する

    • 外部..jre/lib/jfxrt.jar(jdk1.7から)を追加
    • ターゲットプラットフォーム「OSGIフレームワーク」をクリックしてください!
    • 「unzip」を選択しません。
  2. Meta -INF/MANIFEST.MF]をクリックします - ランタイムタブですべてのパッケージをエクスポートします(「追加」)。

  3. fx_osgi_plugin]を追加する[fx_osgi_plugin]を追加します。各plugin.xmlの[依存関係]タブに必要なプラグインを追加します。

  4. .productで[依存関係]タブで「必要なプラグインを追加」をクリックします。

Java-FXを使用したプラグインは、OSGI Java-FXバージョンを参照しています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top