Last week, I followed an NBIC course on Managing Life Science Information. The course included a tutorial on creating an ontology with TopBraid Composer.
A number of course participants, me included, couldn’t run this (Eclipse-based) application because it complained about an incorrect Java VM. Turns out, it only wants to run on the official Sun/Oracle JVM and not on the OpenJDK that’s included with most Linux distributions.
For other people running into this problem: the way to solve it is to:
- Install Sun/Oracle Java from your distribution’s repositories, if available
- Otherwise, download Java SE 7 from Oracle as a tar.gz file
If you had to download the tar archive from Oracle, extract it somewhere on a logical path, such as /usr/java.
When you have done so, you can use the update-alternatives system to switch between Java versions. If you installed the Sun/Oracle JDK through your distribution’s system utilities then chances are, it will be already added to the alternatives database.
Quoting anujjaiswal’s blog:
/usr/sbin/alternatives --install "/usr/bin/java" "java" "/usr/java/default/bin/java" 2 /usr/sbin/alternatives --install "/usr/bin/javac" "javac" "/usr/java/default/bin/javac" 2
And to configure systemwide changes use/usr/sbin/alternatives --configure java /usr/sbin/alternatives --configure javac
But why, exactly, doesn’t TopBraid run with OpenJDK? According to Jeremy Carroll, it’s because ‘We have places where we have to mess with JVM internals, mainly for clean up.’.
I doubt OpenJDK’s internals are that much different from Sun’s, but even if that were true– if you need to mess with JVM internals, in my humble opinion, you’re doing it Wrongtm.
This work, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Netherlands License.