Sorry mein Newbie Frage: P Wenn ich "Java-Version" in der cmd auf einem Windows-System Prompt, bin ich garantiert, dass das System in der Lage sein wird zu laufen .jar Dateien wenn ich keinen Fehler bekomme?Eine einfache kugelsichere Technik, um zu überprüfen, ob das System jre (Windows) hat
Antwort
Ich denke, der einzige garantierte Weg, um nach einer JRE zu suchen, ist zu versuchen, ein kleines Java-Programm auszuführen.
Oder vielleicht nicht einmal das - ich denke, ein System könnte nur einen Teil der Java-Standard-Bibliothek installiert haben, in diesem Fall eine kleine Test-JAR könnte gut funktionieren, aber ein volles Programm möglicherweise nicht. Obwohl ich mir nicht vorstellen kann, warum irgendjemand sich die Mühe machen würde, ein System auf diese Weise einzurichten.
Ja, das klingt nach einer vernünftigen Technik. –
Danke :) Das wird funktionieren! – Johannes
Nun, natürlich nicht. Sie können eine leere Datei namens java.bat anywhare in PATH ablegen, wie C: \ Windows \ System32. Das Aufrufen von "java" führt nicht zu Fehlern, aber es bedeutet nicht, dass eine JRE installiert ist.
Danke .. rate ich muss weiter schauen :) Sie haben eine Technik zu überprüfen, ob jre von einem Code oder Befehl Prompt installiert ist? – Johannes
Wie David sagte, ist der einzige "kugelsichere" Weg das Ausführen eines kleinen Java-Programms. Sie können auch versuchen, die Ausgabe von "java -version" zu analysieren. Es wäre nicht 100% idiotensicher, aber ich nehme an, es wäre gut genug. –
Ich würde vorschlagen, wenn Sie nur über das Überprüfen von Windows-Maschinen besorgt sind, die Registrierung für einen Handler für JNLP überprüfen ... das sollte das Vorhandensein einer relativ neuen JRE garantieren.
Warum nicht eine kleine Klassendatei ausführen, die einen Wert in eine Datei schreibt, die Sie dann überprüfen? Wenn es fehlschlägt, funktioniert es nicht.
Ein guter Wert könnte der Wert der Systemeigenschaft java.version sein.
Unter Windows können Sie die Registrierung im HKLM \ SOFTWARE \ JavaSoft \ Java Plug-in überprüfen. Von dort ist jeder Unterschlüssel eine installierte JRE.
bearbeiten Hier ist C# -Code, die
public string[] GetInstalledJavas() {
// hold the registry subkeys that list the installed JRE's
string[] jres = null;
try {
RegistryKey myKey = Registry.LocalMachine;
myKey = myKey.OpenSubKey(@"SOFTWARE\JavaSoft\Java Plug-in"); // read-only
jres = myKey.GetSubKeyNames();
} catch (Exception myException) {
Console.Writeline(myException.ToString());
}
return jres;
}
in der Befehlszeile ein Array von Strings mit der installierten JRE zurückkehren sollten Sie in der Lage sein, „java --version“ aufrufen, die einen Fehler zurück wenn Java nicht installiert ist oder die aktuell installierte Versionsinformation.
- 1. Gibt es eine einfache Methode, um zu überprüfen, ob eine Ruby IO-Instanz bei read() blockiert?
- 2. Cmake: Überprüfen, ob das System das Verzeichnis enthält
- 3. Überprüfen, ob das Kontrollkästchen eine Klasse hat und aktiviert ist
- 4. Überprüfen Sie, ob eine Zeichenfolge Leerzeichen hat
- 5. jQuery überprüfen, ob Element eine Klasse hat
- 6. programmatisch bestimmen, ob das System umschaltbare Grafik hat
- 7. Überprüfen, ob der Webbrowser eine neue Seite geladen hat, ohne das Dokument zu vervollständigen
- 8. Gibt es einen schnelleren Weg zu erkennen, ob das (Windows Phone 7) -Gerät eine Internetverbindung hat?
- 9. Überprüfen, ob das "System" zwischen zwei Daten in SQL
- 10. Iphone: NSPredicate, um eine ID zu überprüfen
- 11. C#: Überprüfen Sie, ob Administrator Schreibzugriff auf eine Datei hat
- 12. Javascript, um zu überprüfen, ob das Zentrum der Karte verschoben hat funktioniert nicht auf Handy
- 13. Um zu überprüfen, ob das Skript alle 5 Minuten läuft
- 14. Zuverlässiger Weg, um zu überprüfen, ob das Bild Graustufen ist
- 15. Einfache Möglichkeit, Windows Phone System App Animationen neu zu erstellen?
- 16. PHP: Benutzer Login System/Überprüfen, ob Benutzer Zugang zu einer Seite hat
- 17. schreibe Batch-Datei, um eine Textdatei von Windows-System zu Unix-System zu kopieren
- 18. Überprüfen ob das Objekt Werte in php/laravel hat
- 19. Bash wenn Bedingung, um zu überprüfen, ob ein Ubuntu-Paket eine neuere Version hat?
- 20. Wie kann ich überprüfen, ob meine Organisation eine vertrauenswürdige Windows-Binärdatei signiert hat?
- 21. Wie um zu überprüfen, ob ein Objekt eine Sammlung ist
- 22. Überprüfen, ob eine Klasse eine Funktion hat, die Parameter enthält
- 23. Clojure Makro um zu überprüfen, ob eine Funktion aufgerufen wurde
- 24. hat Android Skript-System?
- 25. preg_match, um zu überprüfen, ob die Zeichenfolge eine bestimmte Struktur hat
- 26. Ruby-Code, um zu überprüfen, ob eine Website suchmaschinenfreundliche URLs hat
- 27. Richtiger Weg, um zu überprüfen, ob der Benutzer eine Rolle in Meteor hat?
- 28. Überprüfen Sie, ob eine Zeitzone eine bestimmte Zeit überschritten hat
- 29. Überprüfen Sie, ob das angeklickte Element keine bestimmte Klasse hat
- 30. Überprüfen Sie, ob eine Klasse eine Methode hat
Wenn es funktioniert (mit "java.exe", nicht nur "java"), kann man vernünftigerweise davon ausgehen, dass eine JVM installiert ist; Aber wenn das nicht heißt, bedeutet das nicht, dass nur java.exe nicht auf dem Pfad ist. –