I created a runnable .jar file from a project I built in Eclipse Juno. The project uses the JRE7 and JavaFX libraries, which I added to the build path.
Build Path Settings
The .jar file executes successfully on Windows 7 machines. However, when I try to run the .jar file on a WindowsXP machine, it fails with the following linking error:
Error on WindowsXP
The error reads:
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: com.sun.glass.ui.win.WinApplication._invokeLater(Ljava/lang/Runnable;)V
at com.sun.glass.ui.win.WinApplication._invokeLater(Native Method)
The error occurs just as the program tries to load a class that uses JavaFX, The WindowsXP machine has Java Version 7 Update 40 which comes with JavaFX, so I can't figure out why it would fail.
Could this be a 32-bit vs. 64-bit problem?
Also, on the build path settings, I wonder if I'm including the right JavaFX jar file. I have two to choose from and I'm not exactly sure which one to include. I assume it's the second one because it's part of the JRE.
C:\Program Files (x86)\Java\jre7\lib\jfxtr.jar
JavaFX is embedded into
JRE, but it is the separate library still now. So, if you use the
JavaFX classes in your project,
JVM should "know" about that. Your
*.jar file should contain info about
jfxrt.jar. How to do that?
JRE folder used for running the apps, such as
JDK/JRE folder used when you developing your apps from IDE. So, you should use the
C:\Program Files\Java\jdk1.7.0_25\jre\lib\ path for your project build path' libs.