2011-10-18 22 views
4

JavaFX HTMLEditorをSwingデスクトップアプリケーションに埋め込むことができました。これはthis tutorialをEclipseでローカルに使用すると効果的です。SwingデスクトップアプリケーションにJavaFXをデプロイする方法

私の質問は、これをお客様に展開する方法です。 Oracleにはtutorial for WebStart and Applet deploymentがありますが、デスクトップアプリに関する情報はありません。

現在、私は私のプロジェクトに私のインストールのJavaFX SDKからのlibsとバイナリをコピーして、私はディストリビューションをコンパイルするときにそれらを含める:

/my/application/lib/javafx/lib/javafxrt.jar 
/my/application/lib/javafx/bin/[dll:s from JavaFX Runtime] 

しかし、これは非常に奇妙に思える、より良い方法がなければなりませんか?私はここでいくつかの助けが必要です。問題は、Eclipseでの開発中にクラスパスにjavafxrt.jarが必要なため、私はjavafx_homeのような環境変数を見ることができなかったのでjarファイルをコピーしました。しかし、JavaFXがロードされると、相対パスからdllをロードしようとします。そのため、dllを自分のプロジェクトにコピーしたのです。

これはデプロイメントに問題があります。クライアントに64ビットJVMがインストールされていれば、32ビットのJavaFXランタイムは提供されません。現在のところ、私たちの顧客は問題のない瞬間にWindowsを実行します。

実行時にJavaFXがインストールされているかどうかを確認する方法はありませんか?そうであれば、動的にそのパスを取得しますか? jarファイルの配布は問題ありませんが、プラットフォーム依存のバイナリが心配です。

更新: WebStartは、前のバージョンのWindowsアプリケーションとバンドル/インストールするため、オプションではありません。すべての機能がまだ移植されていないため、2つのアプリケーションがカスタムメイドのIPCプロトコルと通信しません。

ご協力いただきましてありがとうございます。 ありがとうございます。

答えて

2

Java Web Startを使用してアプリをデプロイします。 JWSは、従属Jars &ネイティブをアプリケーションの実行時クラスパスに簡単に追加できるようにし、プラットフォーム別にネイティブのダウンロードを分割することができます。

実際には、JavaFX APIがクライアントアプリケーションであるJNLPという拡張子をまだ提供していない場合、私は驚いています。独自のJNLP起動ファイルに簡単にリンクすることができます。

+1

残念ながらWebStartはオプションではありません。私の更新を参照してください。他のアイデア? – Uhlen

+0

* "その他のアイデアは?" * JWSを使用して更新できない部分について説明します。 –

+0

長期的には、JWSベースのソリューションが良いと思います。現時点では、ビルド/パック/デプロイメントプロセスを変更せずにソリューションを探していました。 InnoSetupにバンドルされている両方のアプリケーションの配布を作成することが重要です。 – Uhlen

0

あなたはJFXPanel(javafx.embed.swing.JFXPanel)を使用して、Java SwingアプリケーションでのJavaFXコンポーネントを埋め込むことができます。 Java SwingアプリケーションにJavaFXコンポーネントを組み込むために使用されます。 JFXPanelについてもっと学ぶ https://docs.oracle.com/javase/8/javafx/api/javafx/embed/swing/JFXPanel.html

+0

これは、質問にリンクされているチュートリアルの内容です。問題は「これを顧客に配備する方法」です。 –

+0

デプロイするのは簡単です – Ganesh

関連する問題