how to handle issue regarding Missing "server" JVM at "C:\Program Files\Java\jre7\bin\server\jvm.dll"

umais picture umais · Aug 12, 2013 · Viewed 9.6k times · Source

I've seen some answers to this question but it doesn't seem to be working for me. I have "client" folder inside "bin" which has such a file (in Program Files x86) but when I set my JAVA_HOME variable to this java folder, it shows this error whenever I try to start the service (I'm trying to run Atlassian Fisheye as service). I tried copying the contents of the "client" folder and create a "server" folder but then the error is changed

Error occurred during initialization of VM, Could not reserve enough space for object heap, Could not create the Java Virtual Machine, A fatal exception has occurred. Program will exit.

if I install 64 bit version of Java as well, there I have this "server" folder, I tried copying that folder but still no use. if I change my JAVA_HOME path to that 64 bit java folder, the service is started successfully, (or so it seems) but I can't access Fisheye and there's a warning:

WARNING - Unable to load the Wrapper's native library 'wrapper.dll'. The file is located on the path at the following location but could not be loaded: C:\installs\service\fisheye28\wrapper\lib\wrapper.dll. Please verify that the file is readable by the current user and that the file has not been corrupted in any way. System signals will not be handled correctly.

according to this guide here, it happens if we use 64 bit java, and we have to use 32 bit even if it's a 64 bit machine. so, I'm stuck in between these issues. the "server" error is gone if I use 64 bit version but then this warning is there and I can't access Fisheye. if I use 32 bit, the "server: folder is not found, and even if i copy the files and create a folder, the service still doesn't run.

Answer

Ignacio Alorre picture Ignacio Alorre · Feb 23, 2017

I know the question is already quite old. But I will try to explain what worked for me:

I tried copying the contents of the "client" folder and create a "server" folder but then the error is changed

That trick was voted as useful by many users in a similar question. However you can not use a Java Client as a Java Server.

In this answer (https://stackoverflow.com/a/198651/7597328) you can see the reason. Basically:

  • The Server VM has been specially tuned to maximize peak operating speed.
  • The Server VM contains an advanced adaptive compiler that supports many of the same types of optimizations performed by optimizing C++ compilers, as well as some optimizations that cannot be done by traditional compilers.

The solution I found was to download a Java Server from: http://www.oracle.com/technetwork/java/javase/downloads/server-jre7-downloads-1931105.html

Then I added the server folder to ...\Java\jre7\bin\