Which JVM?

Having trouble installing Oxygen? Got a bug to report? Post it all here.
pbw
Posts: 24
Joined: Sat Jul 12, 2008 3:46 am
Location: Brisbane, Australia

Which JVM?

Post by pbw »

The documentation for installation notes that by setting the JAVA_HOME and JDK_HOME variables. My JAVA_HOME and JDK_HOME both point to my JDK installation (Sun 1.6.0_07) and JRE_HOME points to the jre in there.

After installation though, oxygen always starts with the jave from its own jre, and when it runs Fop, it is again using its own jre.

I tired an installation on a SuSE 11.0 64 bit system with a 64 bit JDK (1.6.0_10 beta), and ran into a number of problems. After re-installation on that machine, I found that Fop would be run with the system java command.

What actually determines this? I can't find a pattern to it.
sorin_ristache
Posts: 4141
Joined: Fri Mar 28, 2003 2:12 pm

Re: Which JVM?

Post by sorin_ristache »

Hello,

If you install the Oxygen kit which includes a JVM then the included JVM always takes precedence. The JAVA_HOME variable or the JDK_HOME variable (if JAVA_HOME is not set) are checked out on Windows only if there is no included JVM. As you can read in the User Manual: "If you installed the kit which includes a Java virtual machine you have to rename of remove the jre subfolder of the install folder in order for the variable JAVA_HOME or JDK_HOME to have an effect."

The built-in FOP engine always runs with the same JVM as Oxygen. If you look at the command line executed by Oxygen when it applies FOP in a transformation you can see that the home directory of the JVM that runs Oxygen is used. This directory is set in the Java system property called java.home. You can see the FOP command line by enabling the FOP output with the preferences Enable the output of the built-in FOP from Options -> Preferences -> XML -> XSLT/FO/XQuery -> FO Processors.


Regards,
Sorin
pbw
Posts: 24
Joined: Sat Jul 12, 2008 3:46 am
Location: Brisbane, Australia

Re: Which JVM?

Post by pbw »

My SuSE11.0 64 bit install is part of a DocBench install from RenderX.

The original install included Oxygen 9.1. When I fired it up, it advised that the updates were available, so I got the 9.3 oxygen.sh, and installed over the top of the same directory.

I have since re-installed oxygen in a different location, but each time I try to run oxygen/jre/bin/java -version, I get
Error: no `server' JVM at `/home/pbw/Oxy/oxygen/jre/lib/i386/server/libjvm.so'.

This looks like some kind of 64-bit problem, but I can't see what it could be. Any ideas?
pbw
Posts: 24
Joined: Sat Jul 12, 2008 3:46 am
Location: Brisbane, Australia

Re: Which JVM?

Post by pbw »

I've just done the base install of DocBench again, and the oXygen install doesn't include the jre. That happens when I upgrade to 9.3.
sorin_ristache
Posts: 4141
Joined: Fri Mar 28, 2003 2:12 pm

Re: Which JVM?

Post by sorin_ristache »

pbw wrote:I have since re-installed oxygen in a different location, but each time I try to run oxygen/jre/bin/java -version, I get
Error: no `server' JVM at `/home/pbw/Oxy/oxygen/jre/lib/i386/server/libjvm.so'.

This looks like some kind of 64-bit problem, but I can't see what it could be. Any ideas?
The JRE created by the Oxygen installer in [Oxygen-folder]/jre is not a full JVM installation. Does Oxygen start up and run correctly with the JRE from [Oxygen-folder]/jre when you double click on the Oxygen icon created by the installer? You can see the JRE that runs Oxygen in the java.home property in the dialog Help -> About, the System properties tab.


Regards,
Sorin
sorin_ristache
Posts: 4141
Joined: Fri Mar 28, 2003 2:12 pm

Re: Which JVM?

Post by sorin_ristache »

pbw wrote:I've just done the base install of DocBench again, and the oXygen install doesn't include the jre. That happens when I upgrade to 9.3.
pbw wrote:In that case FOP runs with the default JVM installed on your SUSE computer.

What actually determines this? I can't find a pattern to it.
Both Oxygen and the built-in FOP processor run with the same Java virtual machine detected by the algorithm specified in the first note of the installation procedure: if you install an Oxygen kit with an included JVM then the included JVM is used, otherwise other JVM installed on the computer is used.


Regards,
Sorin
Post Reply