Desktop.open () schlägt auf einigen JREs unbemerkt fehl

Ich versuche es zu benutzenDesktop Klasse zum Öffnen einer lokalen HTML-Datei unter Windows. Es funktioniert jedoch nur für einige bestimmte JREs und nicht für einige andere JREs. Hier ist mein Code:

try {
    if (Desktop.isDesktopSupported()) {
        Desktop desktop = Desktop.getDesktop();
        if (desktop.isSupported(Desktop.Action.OPEN)) {
            desktop.open(new File("test.html"));
        } else {
            throw new Exception("OPEN action not supported");
        }
    } else {
        throw new Exception("Desktop not supported");
    }
} catch (Exception e) {
    e.printStackTrace();
}

Wenn es nicht funktioniert, wird keine Ausnahme ausgelöst, und in STDERR wird kein Text gedruckt.

Es funktioniert mit:

JRE 1.6.0_14 (32 Bit)JRE 1.7.0_05 (32 Bit)JRE 1.7.0_45 (64 Bit)JRE 1.7.0_51 (64 Bit)

Esnicht arbeiten mit:

JRE 1.6.0_26 (64 Bit)JRE 1.6.0_37 (64 Bit)JRE 1.7.0_02 (64 Bit)JRE 1.7.0_21 (64 Bit)EDIT: Funktioniert aber auf CentOS

Alle Tests wurden mit derselben Win7 64-Bit-Box durchgeführt.

BEARBEITEN: Gleiches Problem beim Versuch, eine "txt" - oder "pdf" -Datei zu öffnen

Danke.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage