Rich Trouton kindly wrote a wonderful blog post covering a python script of mine (note: this is the old version, don't use it!) which modifies installations of Oracle's Java JDK to extend its capabilities to allow it to run JavaApplicationStub .app bundles as was discussed on Apple's Developer forums (go ahead and read it, Apple has made the forum open to the public for now).
One thing that annoyed me a bit about the fix though was that it didn't seem to work with everything (read: Minecraft), just a large number of Java .apps.
After it was posted, a Twitter friend of mine asked for a little more help with one of these more problematic apps.
I was able to confirm that the app in question could run if I provided the right arguments to
/usr/bin/java, so why couldn't JavaApplicationStub launching work?
A little more research (aka Google) turned up this marvelous additional tidbit.
Basically the problematic Java .apps in question had their .jar files coded to look for
libserver.dylib, which isn't part of the current JDK distribution.
This fix involves creating the original directory structure it expects it at and symlinking
libjvm.dylib to the old location.
It worked, it fixed the launching! (and Minecraft works as-is for me now, no more modifying the .app bundle!!)
I've since updated the original code, so that both Rich's blog post and this one here provide an all-in-one solution.
As always, hope this helps you 😄