質問: お世話になります。 eclipseで実行可能JARファイルを作成したのですがダブルクリックしても起動できません。 以下、詳細な経緯となります。 java8を使用して、javafxを利用したアプリをeclipseで作成したのですが、エクスポートから「実行可能JARファイル」を選択し、「生成されるJARに必須ライブラリーをパッケージ」を選択してjarファイルを作成しました。 作成したjarファイルを適当なフォルダに配置し、ダブルクリックをしても落ちてしまいます。 eclipseで実行した際は起動完了し、アプリの画面が出ます。 環境変数のPathにはjdk1.7.0_79のパスがあるのは確認しました。 どうしたらダブルクリックで実行できるようなjarファイルを作成することが出来るのでしょうか? 大変申し訳ございませんがご助力のほど宜しくお願い致します。 下記にjarファイルのマニフェストファイルとコマンドプロンプトから実行した際の内容を貼り付けます。 「マニフェストファイル」 Manifest-Version: 1.0 Rsrc-Class-Path: ./ toolbaselibs.jar jackson-annotations-2.7.0.jar jac kson-core-2.7.0.jar jackson-databind-2.7.0.jar snmp4j-2.5.5.jar Class-Path: . Rsrc-Main-Class: main.JsonUpdate Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader 「コマンドプロンプト」 D:\tomcat\JsonUpdate>java -jar JsonUpdateTool.jar Exception in thread "main" java.lang.NoClassDefFoundError: javafx/application/Ap plication at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoa der.java:56) Caused by: java.lang.ClassNotFoundException: javafx.application.Application at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 14 more
回答: javafxのライブラリ「jfxrt.jar」ファイルがjarファイルの中になかったため、jarファイル起動時にClassNotFoundExceptionが発生しました。