warning.. this will be a whiney tech post.
I just struggled through 2 or 3 days of trying to get a
java
archive (jar extension) to run natively on my linux box at work. I'll be the first to tell you that I'm no linux guru, but the frustrating part is that the problem really had nothing to do with linux in itself, but rather this distro
I am using.
For the first bit I thought it was a problem with my Apache
Ant script which is used to compile and build my code into an executable. Then I thought it was difficulties referencing 3rd party libraries.. Then I thought my manifest file in the archive wasn't setting the classpath correctly.. I struggled with most of this for toiling hours while, annoyingly, it setup correctly all along.
The problem was that the default version of java I was using is an open source implementation consisting of a collection of compiler, linker and wrapper tools. The problem with this implementation is that it seems that most larger stand-alone java applications won't operate under this
GNU version of java.
I ended up downloading
SUNs version of java, and bingo.. it worked right away! Why? What's the difference? I'm not really sure, but from what I read programs such as Azureus, which are also written in Java, require SUN's implementation to be used as well. Maybe the GNU java isn't as up to par.. I'm not really sure. All I know is that with the latest SUN runtime engine, things progressed smoothly.
I'd like the next release of this distro, Fedora Core 5, to move to SUN's java; but they probably won't due to SUN's version not being free (well it's free in terms of money, but it's a closed implementation - and most linux distros arn't keen on that)
edit [01/11/06] : grammar police