Frage

Leider meine newbie Frage: P Wenn ich prompt "java -version" in der cmd auf einem Windows-System, bin ich garantiert , dass das System in der Lage sein wird, Dateien ausführen .jar if ich habe nicht einen Fehler

War es hilfreich?

Lösung

Ich denke, die einzige garantierte Möglichkeit für eine JRE zu überprüfen ist, zu versuchen, ein kleines Java-Programm auszuführen.

Oder vielleicht nicht einmal das - ich nehme denkbar ein System nur einen Teil der Java-Standard-Bibliothek installiert haben könnte, wobei in diesem Fall ein kleiner Test JAR fein funktionieren könnte, aber ein volles Programm möglicherweise nicht. Obwohl ich kann mir nicht vorstellen, warum jemand die Mühe der Einrichtung eines Systems dieser Art und Weise gehen.

Andere Tipps

Von der Befehlszeile sollten Sie in der Lage sein rufen „java --version“, die einen Fehler zurück, wenn Java nicht installiert ist oder die derzeit installierte Versionsinformationen an.

Nun, offensichtlich nicht. \ Windows \ System32: Sie können eine leere Datei java.bat überall in PATH, wie C genannt gesetzt. Aufrufen von „java“ werden keine Fehler ergeben, aber es bedeutet nicht, es gibt eine installierte JRE.

Warum eine kleine Klasse-Datei nicht ausgeführt, die einen Wert in eine Datei schreiben, die Sie dann überprüfen? Schlägt dies fehl, funktioniert es nicht.

Ein guter Wert könnte der Wert der java.version Systemeigenschaft sein.

Unter Windows können Sie die Registrierung unter HKLM \ SOFTWARE \ Javasoft \ Java-Plug-in überprüfen. Von dort ist jeder Unterschlüssel eine installierte JRE.

Bearbeiten Hier ist C # -Code, der ein Array von Strings mit der installierten JRE zurück

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;
}

Ich würde wirklich vorschlagen, wenn Sie besorgt sind, auf Windows-Rechner über die Überprüfung, die Registrierung für einen Handler für JNLP Überprüfung ... das soll das Vorhandensein eines relativ neuen JRE gewährleisten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top