Kompilierte (?) Java-Pakete unter Debian

Kompilierte (?) Java-Pakete unter Debian

Beim Suchen nach der Jinput-Bibliothek unter Debian (ich glaube, das „j“ hier impliziert, dass es sich um eine Java-spezifische Bibliothek und nicht um einen einfachen Wrapper handelt) stelle ich fest, dass es zwei Pakete gibt, die in Frage kommen könnten:

libjinput-java/stable 20100502+dfsg-7 all
  Java Game Controller API

libjinput-jni/stable 20100502+dfsg-7 armhf
  Java Game Controller API (jni)

Beachten Sie, dass dies ein ARM-System ist. Ich weiß, dass andere Sprachen manchmal zwei Implementierungen von etwas haben, eine schnellere, die kompiliert werden muss, und eine „reine was auch immer“ (in diesem Fall Java), bei der dies nicht der Fall ist. Letzteres scheint hier eine unwahrscheinliche Möglichkeit zu sein, aber ich weiß es nicht genau; die Tatsache, dass die erste als Paket angezeigt wird, das auf „alle“ Plattformen anwendbar ist, ist im Vergleich zur zweiten, die eine architekturspezifische Auflistung ist, interessant.

Was ist also in der Debian-Nomenklatur der Unterschied zwischen einem -javaPaket und einem -jniPaket?


Ich vermute jetzt, dass das -jniPaket die „umgekehrte“ Verwendung dieser Bibliothek ermöglicht, also von C/C++ aus, falls das jemand bestätigen oder verneinen könnte …

Antwort1

libjinput-javaund libjinput-jnibestehen ausdieselbe Quelle. Das -javaPaket enthält das architekturunabhängige, reine Java-JAR und das -jniPaket enthält die architekturspezifische Bibliothek, die die vom Java-Paket benötigte native Funktionalität bereitstellt. Beachten Sie, dasslibjinput-javahängt davon ab libjinput-jni: Es handelt sich nicht um zwei unterschiedliche Implementierungen von Jinput, sondern um zwei Teile von Jinput und beide sind erforderlich, damit Jinput-abhängige Software funktioniert.

Bei der Pakettrennung handelt es sich lediglich um die Trennung architekturunabhängiger und architekturspezifischer Dateien.

(JNI ist dieJava Native-Schnittstelle, wodurch auf einer JVM ausgeführte Programme Code in nativen Bibliotheken aufrufen können.)

verwandte Informationen