JVM + System PATH environment = Version Skew
--------------------------------------------
Key: DAEMON-102
URL: https://issues.apache.org/jira/browse/DAEMON-102
Project: Commons Daemon
Issue Type: Bug
Affects Versions: 1.0.1, 1.0, 1.0 Alpha
Environment: Windows, All
Reporter: Bob Kerns
When Tomcat 6 is installed, it prompts you for the location of the JVM you wish
to use.
However, it neither computes the necessary value for the PATH environment
variable to make that JVM work, nor prompts you for it.
Instead, it depends on the system's PATH environment variable happening to have
on it the JRE's bin directory.
If, however, it does not have a JRE bin directory, or it points to a DIFFERENT
JRE -- we have a problem.
Basically, this is a formula for very mysterious failure. When the System path
changed, due to a change in JVM for other purposes, Tomcat 6's service launcher
mysteriously became unable to load the JVM.
My workaround was to add the Environment configuration parameter with PATH=<a
valid path>. (I did this via editing the registry; presumably I could have done
it from the command line. But the GUI does NOT provide a way to set this!)
It seems wrong to always embed the ENTIRE pah. Perhaps when launching a JVM it
should silently do a SetDllDirectory to add the parent directory. This would
ensure that it would find the CORRECT dlls. The current behavior does NOT find
the correct DLLs unless (and while) the system PATH variable points to them.
This makes the behavior consonant with what running the JVM from java.exe does,
because the .exe's directory (same as the parent of the jvm.dll's directory) is
automatically included in the DLL search path, earlier than the PATH variable.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.