Could be a number of different things, from the app is poorly written to the app was never designed to run with the current version of Java you're rolling.
and what are the possible solutions?
Step 1 is find if this app has a log file, if it does, check it.
Step 2 is profile the thing while it's running.A command line system call, like "ps aux" while it's running, gives you something like this (I substituted pulseaudio on my machine for the app you're talking about on yours for this example).
[root@kahuna Downloads]# ps aux | grep pulseaudio
willie 2608 0.0 0.1 602536 4184 ? S<sl Sep25 2:13 /usr/bin/pulseaudio --start --log-target=syslog
Jojo 11814 0.1 0.1 602452 4136 ? S<sl Sep25 4:47 /usr/bin/pulseaudio --start --log-target=syslog
gdm 22368 0.0 0.0 579384 2936 ? S<sl Sep26 0:00 /usr/bin/pulseaudio --start --log-target=syslog
Step 3: Call the app using redirection for error messages. something like " myapp 2>> adhoc-myapp.log" and see what it complains about as it's starting up and running.
Step 4 Read the documentation that came with the product. It's has a specific Java requirement, for example. Are you meeting that requirement? Are you using a version of Java several versions past the requirement? Are their any other requirements you're not meeting?