Kotlin Ersatz für Java

10

javah ist seit JDK 8 veraltet und wird / wird in JDK 10 entfernt und laut JEP 313 und der veraltete Text javac mit dem Flag -h sollten stattdessen verwendet werden:

  

Warnung: Das Tool javah soll in der nächsten großen JDK-Version entfernt werden. Das Tool wurde durch die Option "-h" ersetzt, die zu javac in JDK 8 hinzugefügt wurde. Benutzern wird empfohlen, zur Verwendung der Option javac '-h "zu migrieren. Weitere Informationen finden Sie auf der javac man-Seite.

Das Problem ist, dass javah auf kompilierten .class -Dateien arbeitet, während javac auf Quelldateien (d. h. .java -Dateien) arbeitet.

javah funktioniert gut mit Kotlin und external Funktionen, da alles als Java-Bytecode kompiliert wird, aber da es bei der Verwendung von Kotlin keine Java-Quelldateien gibt, sehe ich keine Möglichkeit, dass javac -h funktionieren könnte.

Gibt es eine javah Ersetzung oder eine Umgehung für Kotlin?

    
Moira 15.02.2018, 21:00
quelle

1 Antwort

0

Bis Kotlin beginnt, JDK10-spezifischen Bytecode zu generieren, können Sie javah tool von JDK 9 oder niedriger für die kompilierten Kotlin-Klassen verwenden.

Und selbst danach können Sie external functions mit jvmTarget=1.8 kompilieren und javah für die resultierenden Klassen verwenden.

    
Ilya 16.02.2018 14:26
quelle

Tags und Links