Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

No 'server' JVM at '...'

Tags:

I'm running a java application that we distribute as a server-side system. I'm trying to write a launcher ("write" is somewhat of an overstatement here, I'm basically just copying the Java.exe file so that we can get the desired name in the process explorer of windows). This exe is in our bin/ directory of our application file tree.

Now, we also have a jre/ directory in our file tree, which is where Java.exe actually resides (we ship our product with the Java environment). When I use Java.exe as the launcher, which is located in \jre\jre1.6.0_21\bin, or if I place the copy (call this exectuable 'Orange.exe') I made in this directory, it works just fine. But, if I put my 'Orange.exe' in the bin\ directory, then I get the following error:

Error: no 'server' JVM at 'C:\Program Files\Java\jre6\bin\server\jvm.dll'

I think I understand what is happening here - I want to use the server version of the jvm.dll file, which is in our jre directory. The problem is, I don't understand WHY it doesn't look in the jre\jre1.6.0_21 directory in my application path. I've set my JAVA_HOME environment variable to this location. It seems like it's defaulting to another, system-wide expected location.

Does anyone know how I can change this, so that it looks in my application-provided java environment directory? Ideally, this will be an environment variable, as I need to call this application with parameters using a batch file.

like image 623
jwir3 Avatar asked May 09 '11 19:05

jwir3


People also ask

How to fix error missing server JVM?

To solve the 'missing server JVM' error, first check that there is indeed a JDK installed on the local operating system. If not, you need to install one. If there is one installed, you need to make sure SonarCube is defaulting to the utilities in the JDK's bin directory and not that of the JRE.

Where can I download JRE?

You can download the JRE free of charge from Oracle. Go to http://www.oracle.com/technetwork/java/javase/downloads/index.html . Under Java Platform, Standard Edition, select either the current release, or click Previous Releases to install an earlier supported version. You can use either the JDK or JRE.


2 Answers

There is a little trick to get the server JVM up and running:

  1. Copy "server" folder from the JDK's JRE's bin folder example: C:\Program Files\Java\jdk1.6.0\jre\bin\server
  2. Paste the "server" folder to JRE's bin folder example: C:\Program Files\Java\jre1.6.0\bin
  3. Done

See official readme for details.

like image 74
indago Avatar answered Sep 20 '22 14:09

indago


I've just been struggling with this same problem in Eclipse and I noted that as suggested by the answer above the JBoss site has a thread on this issue saying the same as the answer above to copy files from the jdk to the jre folder.

I noticed that you can avoid having to do this if you define the runtime to be the jdk when you create the server. I didn't find how to edit an existing server though.

eclipse Screenshot

like image 45
Codey McCodeface Avatar answered Sep 21 '22 14:09

Codey McCodeface