I'm on Ubuntu 14.04 64-bit. I installed Oracle-8 for Java and downloaded the e(fx)clipse bundle from http://efxclipse.bestsolution.at/ .
However, now I'm running into this error message:
Exception in Application constructor
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389)
at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.RuntimeException: Unable to construct Application instance: class ui.project.Main
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:907)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$156(LauncherImpl.java:182)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:819)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$176(PlatformImpl.java:326)
at com.sun.javafx.application.PlatformImpl.lambda$null$174(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$175(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at com.sun.glass.ui.gtk.GtkApplication.lambda$null$50(GtkApplication.java:139)
... 1 more
Caused by: java.lang.NoClassDefFoundError: com/sun/javafx/Utils
at org.controlsfx.tools.Platform.getCurrentPlatform(Platform.java:65)
at org.controlsfx.tools.Platform.<clinit>(Platform.java:41)
at org.controlsfx.dialog.HeavyweightDialog.<clinit>(HeavyweightDialog.java:72)
at org.controlsfx.dialog.DialogFactory.createDialog(DialogFactory.java:58)
at org.controlsfx.dialog.Dialog.<init>(Dialog.java:295)
at org.controlsfx.dialog.Dialogs.buildDialog(Dialogs.java:1086)
at org.controlsfx.dialog.Dialogs.showCommandLinks(Dialogs.java:692)
at ui.project.Main.welcomeWindow(Main.java:175)
at ui.project.Main.<init>(Main.java:64)
... 13 more
Caused by: java.lang.ClassNotFoundException: com.sun.javafx.Utils
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 22 more
Exception running application ui.project.Main
Main 64 calls method welcomeWindow in line 175 which includes this line:
Action response = Dialogs.create()
.title("Welcome to the Dolphin UI")
.masthead(null)
.message("Please select an option to proceed.")
.showCommandLinks(links.get(3), links);
The problem is that the class com.sun.javafx.Utils was moved to com.sun.javafx.util.Utils package in update 60 of Java 8.
I see that you use ControlsFX in your code. Then, take a new version of ControlsFX solve this problem.
More info: https://bitbucket.org/controlsfx/controlsfx/issues/526/comsunjavafxutils-changes-to
After spending roughly 8 hours on this, using three different operating systems (Ubuntu 32, 64 and Windows 8.1), the issue was with Java. Apparently, any version after 8u40 will not work with this.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.