Funktionen von jre7 fehlen in jre8

StehtimSchilf

Neues Mitglied
Hi Forum

ich habe eine Anwendung mit JRE7 kompiliert, welche folgende Anweisung enthält:

Java:
sun.net.www.protocol.http.HttpURLConnection.getHttpLogger().setLevel(java.util.logging.Level.OFF.intValue())

nun stürzt jedoch die Anwendung auf Systemen mit JRE8 ab:

Java:
java.lang.NoSuchMethodError: sun.util.logging.PlatformLogger.setLevel(I)V
    at ch.swisssafelab.mid.environment.d.<init>(Unknown Source)
    at ch.swisssafelab.mid.environment.Main.<init>(Unknown Source)
    at ch.swisssafelab.mid.environment.Main.main(Unknown Source)


Wenn ich nun das Projekt für JRE8 kompilieren möchte, muss ich die Zeile wie folgt anpassen:
Java:
sun.net.www.protocol.http.HttpURLConnection.getHttpLogger().setLevel(sun.util.logging.PlatformLogger.Level.OFF)

Damit ist aber die Anwendung nicht mehr lauffähig auf jre7 Plattformen.

Wie kann ich die Zeilen anpassen, dass diese auf jre7 und/oder jre8 Plattformen laufen? Ich möchte nicht die Anwendung mal für jre7 und mal für jre8 kompilieren. Denn wenn ein Benutzer nun jre7 auf jre8 aktualisiert, läuft sie nicht mehr.

Ideen?
 
Zuletzt bearbeitet:
Die Klassen in den sun Paketen gehören nicht zur offiziellen API und sind eigentlich nicht zur Verwendung gedacht. Daher wird auch nicht garantiert, dass diese nicht verändert werden. Solltest du keine alternative finden kannst du die Mehode noch je nach Java Version über Reflexion aufrufen. Funktioniert zwar, ist aber eine eher unsauberer Hack.
 

Zurück
Oben