When I package a "Runnable JAR" using the Eclipse Export wizard, in the manifest file, the main-class is given as org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader, which I presume is a little bit of code to redirect the main method to the main method of my actual application. This is the "extra layer" I was referring to.
Ok, if I well understand, Eclipse packages a big jar containing all your code and jar dependencies, and then uses its own classloader to access them.
As you suggested this is an interesting trail to follow. I already had issues with "exotic" classloaders using OpenJdk on CentOS.
Try indeed to do a "pure" java deployment (java -cp myjar1,myjar2,... com.example.MyAppWithMainMethod) and see if the issue still happens.
What was the result of your tests with Sun JRE (cf. your post from Feb 11th)? Do you have the issue with Sun JRE as well?