Ich wechsle zu Java 9 (für den HTTP/2-Client, neben anderen Vorteilen), aber nicht mit Java 9 Modularisierung.Gibt es eine Möglichkeit, Java 9 dazu zu bringen, nicht mehr über nicht zugängliche Pakete zu klagen?
Ich bekomme Tonnen von Compiler-Fehlern über nicht zugängliche Pakete. Jeder erfordert, dass ich ein zusätzliches --add-exports modulename/packagename=ALL-UNNAMED
Compiler-Flag hinzufüge.
Gibt es ein Compiler-Flag, das ich einmal angeben kann, um alle Exporte hinzuzufügen und keine Compilerfehler mehr zu bekommen?
Hier Codebeispiel zeigt das Problem:
package com.prosc.fx;
import com.sun.javafx.stage.WindowHelper;
public class CompilerFlagTest {
public static void main(String[] args) {
WindowHelper.getWindowAccessor();
}
}
Die Fehlermeldung lautet:
Error:(3, 22) java: package com.sun.javafx.stage is not visible (package com.sun.javafx.stage is declared in module javafx.graphics, which does not export it to the unnamed module)
Können Sie die Frage um ein Beispiel erweitern? Bei einem Tipp versuchen Sie, Code mit Verweisen auf interne JDK-Klassen zu kompilieren. –
Bearbeitete Frage, um Beispiel zu zeigen. Viele der Klassen sind in der Sonne. * Und com.sun. * Pakete. –
Verwenden Sie diese Klasse nicht: Sie befindet sich in einem privaten Paket. Verwenden Sie die öffentliche API, nicht die private API. Siehe https://docs.oracle.com/javase/9/docs/api/javafx.graphics-summary.html –