No 'server' JVM at '...'

49,465

Solution 1

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.

Solution 2

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

Solution 3

AFAIK, the JRE usually doesn't ship with a server VM (only the client VM). If you really need the server VM, you have to use the JDK installation.

See Oracle Java for Developers Download page for JRE's with Server VM.

Solution 4

I had the same problem here but, in my case, I just had not properly update the JAVA_HOME and my PATH for my recently installed JDK. I just updated it to my new JDK location and the server started just fine.

Share:
49,465
jwir3
Author by

jwir3

I am a developer committed to open source software. I currently work for InVision as a Sr. Graphics Engineer helping to develop the Studio product. I have worked for Mozilla, helping develop the Gecko Platform, the rendering engine behind Firefox, Thunderbird, Sunbird, and many other third-party products. I have also worked for General Dynamics, When I Work1, and a few other startups in the Minneapolis/St. Paul metro area. I also volunteer my time to numerous projects, including the Crystal Space SDK, which is an open source game engine. I am very passionate about video games, especially with regards to high performance graphics and immersive environments. When I'm not working or developing open source software, my major hobbies include martial arts, video games, sailing, and playing my violin. I hold the rank of 3rd Degree Black Belt, Green Sash in Wu Chi Chuu'an Kung Fu. I am also a certified level 3 ice hockey referee for USAHockey.

Updated on July 09, 2022

Comments

  • jwir3
    jwir3 almost 2 years

    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.