Ошибка no server jvm at

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 jrejre1.6.0_21bin, 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 FilesJavajre6binserverjvm.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 jrejre1.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.

After having downloaded elasticsearch and unzipped it following the steps in this link:

Install Elastic Search on Windows

I am receiving the following error:

Error: missing 'server' JVM at 'C:Program Files (x86)Javajre1.8.0_131binserverjvm.dll'.
Please install or use the JRE or JDK that contains these missing components.

Note: I also had to install the JDK8 as suggested in this resolution

Should I change something in the .config file? Maybe this line?

 # force the server VM (remove on 32-bit client JVMs)
 -server

asked Jun 14, 2017 at 18:19

BassMHL's user avatar

1

Quick (hack) alternative:

  1. Copy jdk1.8.0_131binclient to jdk1.8.0_131binserver
  2. If necessary, configure Elasticsearch JVM heap size in config/jvm.options

answered Oct 20, 2017 at 18:18

Francis Nepomuceno's user avatar

I solved this by installing Java JRE 64-bit.

And then setting the environment variable JAVA_HOME to this version. (In my case C:Program FilesJavajre1.8.0_131)

answered Jul 6, 2017 at 14:50

Heiner's user avatar

HeinerHeiner

1,8191 gold badge19 silver badges32 bronze badges

0

Set your JAVA_HOME environment variable to point to the path of your JDK 8 installation.

You can do this on the command line as the example below illustrates:

SET JAVA_HOME="C:Program Files (x86)Javajdk1.8.0_131"
SET PATH=%JAVA_HOME%bin;%PATH%

Confirm that the correct version of the JDK is in your PATH with:

javac -version

answered Jul 6, 2017 at 14:57

Saïd's user avatar

SaïdSaïd

8,6201 gold badge28 silver badges28 bronze badges

2

I solved my issue editing that line of file jvm.options from:

# force the server VM
-server

to:

# force the server VM
-client

answered Dec 28, 2017 at 12:10

PedroMVM's user avatar

PedroMVMPedroMVM

3361 gold badge5 silver badges13 bronze badges

I had same issue:

Error: missing ‘server’ JVM at ‘C:Program Files (x86)Javajre1.8.0_131binserverjvm.dll’.
Please install or use the JRE or JDK that contains these missing components.

It got resolved just by setting java_home:

SET JAVA_HOME="C:Program Files (x86)Javajdk1.8.0_131"
SET PATH=%JAVA_HOME%bin;%PATH%

Dima Kozhevin's user avatar

answered Aug 16, 2020 at 17:22

sudhir kushwaha's user avatar

I faced this issue while running SonarQube Server on my local machine.

If none of the above solution works just check the SonarQube Version you are using and the JDK version it runs on which is mentioned on the SonarQube site.

Mine was SonarQube 7.9.3
https://docs.sonarqube.org/latest/requirements/requirements/

Changing JDK 15.0.1 to 11.0.9 Fixed the issue.

answered Nov 17, 2020 at 6:08

Karthik's user avatar

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 FilesJavajdk1.6.0jrebinserver
  2. Paste the «server» folder to JRE’s bin folder example: C:Program FilesJavajre1.6.0bin
  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.

Comments

  • 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 jrejre1.6.0_21bin, 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 FilesJavajre6binserverjvm.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 jrejre1.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.

Recents

This will be a quick tip, as it is about a problem that one of my collegues faced with, few days ago.
During my research, I have seen that the information related with the error is not publically available or documented, so that I thought it maybe a good thing to write about it :)

The problem was encountered while doing an EBS 12.2.6 installation on Oracle Linux 7.3 (64bit).The error was seen during very basic Rapidwiz executions such as while executing RapidWizVersion or while executing wrapper scripts that calls java such as buildStage.sh.

Well, this error was actually a java/jvm error and it was displayed in the following format;

Error: no `server’ JVM at `<your_stage_location/startCD/Disk1/rapidwiz/jre/Linux_x64/1.6.0/lib/i386/server/libjvm.so’

Note: There may be other errors as well.

When ignored or skipped somehow, the installation may get stuck in the next stages.

Well… This error is caused by the filesystem, that EBS stage and installation directories reside, being XFS.
I wasn’t there when the problem was encountered but according to my research, I can say that it is caused by the enhancements that are done in modern XFS filesystems.
The most significant feature that will cause this issue is the 64 bit inodes. Especially when the filesystem size is more than 1 TB, these 64 bit inodes became a problem for 32 bit java.. (You see the above path , I mean the Rapidwiz java path path.. It says i386 there..)

Anyways, a workaround for this problem is to use another fileystem, like ext3 or ext4 on Linux. (tested & verified)

Note that, ext4 also supports 64 bit inodes, but it is off by default. following is from the manual;

i_version ->  Enable 64-bit inode version support. This option is off by
default.

Relocating the stage and startCD location to a smaller filesystem(<1tb) can be a workaround too .

Also, the mount point (with xfs filesytem) can be unmounted and remounted using «-o inode32» argument. After this move, the stage directory should be recreated in the mount point (recopied to the mount point)  to guarantee all its files are associated with 32 bit inodes…

As you see, this is an interesting topic and it worths to mention..

One final note on this: Use of XFS with Oracle Database is not supported. :)

Please comment and give alternative- suggestions if you can.


posted 12 years ago

  • Mark post as helpful


  • send pies

    Number of slices to send:

    Optional ‘thank-you’ note:



  • Quote
  • Report post to moderator

Hello,

While trying to install jdk(not just jre) , I’m getting Error: no `server’ JVM at … jvm.dl error.

After googling I found out the below solution :-


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 FilesJavajdk1.6.0jrebinserver)

2.Paste the ‘server’ folder to JRE’s bin folder(example: C:Program FilesJavajre1.6.0bin)

3.Done

What I don’t understand is that why I need to install JRE separately as well (Step 2) as JDK also includes JRE.

Please advise.

Thanks.

Thanks,

Pramod


posted 12 years ago

  • Mark post as helpful


  • send pies

    Number of slices to send:

    Optional ‘thank-you’ note:



  • Quote
  • Report post to moderator

But it’s strange that you get that error while installing the JDK.

Are you using Windows? What version, and is it 32-bit or 64-bit? And are you installing a 32-bit or a 64-bit JDK and / or JRE?

pramod talekar

Ranch Hand

Posts: 367

Eclipse IDE
Opera
Java


posted 12 years ago

  • Mark post as helpful


  • send pies

    Number of slices to send:

    Optional ‘thank-you’ note:



  • Quote
  • Report post to moderator

Hi Jesper,

I’m trying to install Java EE SDK 6 after installing Java SE 6 Update 24.

My m/c is Win 7 , 64 bit.

But when I try to install SDK, an error shows up saying that it could not find Java 2 Runtime Environment.

If I check my version details on Java.com it suggests me to install Java RE.

If I install Java RE separately in addition to JDK, then I’m able to install EE as well.

Thanks,

Pramod

pramod talekar

Ranch Hand

Posts: 367

Eclipse IDE
Opera
Java


posted 12 years ago

  • Mark post as helpful


  • send pies

    Number of slices to send:

    Optional ‘thank-you’ note:



  • Quote
  • Report post to moderator

Hey Jesper,

I think Java EE installation is looking in default locations for any Java RE/jdk and as I’ve customized my jdk location,

It’s not able to get it.

Thanks,

Pramod

Jesper de Jong

Java Cowboy

Posts: 16084

Android
Scala
IntelliJ IDE
Spring
Java


posted 12 years ago

  • Mark post as helpful


  • send pies

    Number of slices to send:

    Optional ‘thank-you’ note:



  • Quote
  • Report post to moderator

Did you install a 32-bit or a 64-bit version of the JDK? (Both of them work on 64-bit Windows).

Oracle actually has two versions of the JVM: the client version and the server version. As far as I know, the 32-bit version of the JDK / JRE does not contain the server JVM; only the client JVM. On the 64-bit version, the server JVM is the default. It looks like the Java EE 6 SDK you are trying to install is looking for the server JVM.

You could try installing the 64-bit version of the JDK.

pramod talekar

Ranch Hand

Posts: 367

Eclipse IDE
Opera
Java


posted 12 years ago

  • Mark post as helpful


  • send pies

    Number of slices to send:

    Optional ‘thank-you’ note:



  • Quote
  • Report post to moderator

I installed 64 bit only.

Thanks,

Pramod

Понравилась статья? Поделить с друзьями:
  • Ошибка no rule to make target all stop
  • Ошибка no response from gameranger server
  • Ошибка no remote refs found similar to flathub
  • Ошибка no option to boot to
  • Ошибка no member named cout in namespace std