Red Hat Bugzilla – Bug 769604
JON server fails to find JVM if JAVA_HOME path contains spaces
Last modified: 2013-05-24 15:38:57 EDT
Description of problem:
If the Windows JAVA_HOME Environment Variable or the RHQ_SERVER_JAVA_HOME variable contains spaces in the path it will fail to find the jvm.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.Install JAVA on a windows box to a directory containing spaces
2.Either set the Windows JAVA_HOME Environment variable or edit the rhq-server.bat file to set the RHQ_SERVER_JAVA_HOME to the above installed JAVA
Server does not start with Error can't find jvm
JON Server starts.
Workaround is to use the Windows short name, C:\Progra~1\java\jdk1.6.0_30.
I need to know *exactly* what you set JAVA_HOME to.
I just tried it and the rhq-server.bat worked BUT! only if I did not wrap my env var value in quotes.
Things WORKED when I used this command line to set my JAVA_HOME:
set JAVA_HOME=C:\Program Files\Java\jre7
If I echoed %JAVA_HOME% I saw this:
> echo %JAVA_HOME%
Notice there are NO quotes in the value.
However, things FAILED to work when I did this:
set JAVA_HOME="C:\Program Files\Java\jre7"
> echo %JAVA_HOME%
When I ran "rhq-server.bat status", I got this error message:
There is no JVM available.
Please set RHQ_SERVER_JAVA_HOME or RHQ_SERVER_JAVA_EXE_FILE_PATH appropriately.
Turn on debug and see what your script says. So do this:
and then run rhq-server.bat again. You should see what values it wants to use. When using quotes in the JAVA_HOME value, you'll see something like this (which is wrong):
RHQ_SERVER_JAVA_EXE_FILE_PATH: "C:\Program Files\Java\jre7"\bin\java.exe
The quotes appear to be messed up.
So, in short, when you define JAVA_HOME, do NOT wrap the value in quotes.
I'm putting this with a NEEDINFO to the reporter to confirm this work. If it does, we should close this as NOTABUG.
You are correct. In the original case that raised this issue, JAVA_HOME was set as follows:
set JAVA_HOME="C:\Program Files (x86)\Java\jdk1.6.0_30"
Marking this as NOTABUG.