Wie erkennen Sie Anwesenheit und Speicherort von JVM unter Windows?

8

Ich versuche herauszufinden, ob eine JVM installiert ist und wo sie sich befindet, damit ich java.exe ausführen kann.

Alles, was ich gefunden habe, ist HKCU\Software\JavaSoft\Java Runtime Environment\<ver> . Kann man davon ausgehen, dass es in %PROGRAMFILES%\Java\jre<ver> installiert ist?

Ich versuche, dies in C # zu tun, aber ich nehme an, die Antwort ist ziemlich sprachunabhängig, so dass jede Antwort geschätzt wird.

BEARBEITEN: Ok, alberne mich, ich fand Wie erkennt man, ob Java Runtime installiert ist oder nicht auf einem Computer mit c # , was mich auf HKLM\Software\JavaSoft\Java Runtime Environment\CurrentVersion zeigt, was mit HKLM\Software\JavaSoft\Java Runtime Environment\<ver>\JavaHome funktioniert. Ich habe es geschafft, diese stattdessen unter HKLM\Software\Wow6432Node\JavaSoft\Java Runtime Environment zu finden. Gibt es eine Möglichkeit zu erkennen, welche von denen ich überprüfen sollte, ohne zu versuchen, auf den CPU-Typ zu schnüffeln?

    
Matthew Scharley 25.01.2011, 09:24
quelle

4 Antworten

4

Ich werde meinen Hut mit dem Code, den ich am Ende benutzt habe, in den Ring werfen:

%Vor%     
Matthew Scharley 25.01.2011, 10:37
quelle
2

Eine ordnungsgemäß installierte JVM auf einem Windows-System antwortet (höchstwahrscheinlich ...) auf den Befehl shell:

%Vor%

Dies gibt den Pfad nicht zurück, aber versuchen Sie

%Vor%

(Mindestens) Eine der Zeilen enthält die Teilzeichenfolge rt.jar und diese Zeile enthält den Pfad der "aktiven" Java Virtual Machine.

    
Andreas_D 25.01.2011 09:58
quelle
0

Installiert die JRE nicht eine java.exe in c: \ windows?

    
EJP 26.01.2011 01:55
quelle
-1

Sie können versuchen, die Umgebungsvariable * JAVA_HOME * zu erhalten.

Es könnte hilfreich sein.

BEARBEITEN:

Bessere Idee look por " CLASSPATH " Variable.

%Vor%     
Taber 25.01.2011 10:05
quelle

Tags und Links