jfxrt.jar
をプロジェクトビルドパスに追加すると、eclipseがそれを見つけて、Eclipseからコードを開発して実行できるようになります。ただし、ソフトウェアをデプロイすると、クラスパス上に置かない限り、jfxrt.jar
を見つけることができなくなります。 jdk
/jre
の場所を探して、jfxrt.jar
の場所を検索するのが面倒なので、これは面倒です。
私が理解から、長期的な計画はlib/ext
フォルダにjre
にlib
フォルダからjfxrt.jar
を移動することです。これは、クラスパスに物を追加する必要なく、デフォルトで見つけられたどこかに置きます。残念ながら、これはJava 8がリリースされる前に起こる可能性は低いです!
一方、最も簡単な解決策は、付属のjavafxpackager
ツールを使用して、jar
ツールではなくjarファイルを作成することです。 ant
ベースのソリューションもありますが、私はそれに精通していません。パッケージャはjarファイルを作成し、jfxrt.jarを見つけ出し、実行時にクラスのパスに動的に追加するランチャークラスを挿入します。また、jre
またはjavafx
がインストールされていて、新しいバージョンをダウンロードするように促すメッセージが表示されます。次に、コマンドラインで指定したクラスを使用してアプリケーションを呼び出します。 (通常、あなたのmain()
メソッドを持つクラス)。
これは、ネイティブのjavafxアプリケーションと普通の古いSwingアプリケーションの両方で機能します。別のClassPathエントリなど、jarファイルのマニフェストに余分なものがあった場合は、新しいjarファイルに含めるために、コマンドラインでもそれを指定できます。
あなたのプロジェクト構築パスにjfxrt.jarファイルがありますか? – invariant
あなたはEclipseのデフォルトとプロジェクトのjdk設定をチェックして、新しいJava 7を使用していますか? – Quinma
それは、不変のトリックでした! Java 7に統合されているので、JARが "C:¥Program Files¥Java¥jdk1.7.0_09¥jre¥lib"に保存されているので、自動的にJava 7に統合されていると仮定しました。 ありがとう:D –