Скомпилированные (?) пакеты Java на Debian

Скомпилированные (?) пакеты Java на Debian

Я заметил, что при поиске библиотеки jinput в Debian (я полагаю, что «j» здесь подразумевает, что это специфичная для Java библиотека, а не простая оболочка), есть два пакета, которые могут подойти:

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

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

Обратите внимание, что это система ARM. Я знаю, что в других языках иногда есть две реализации чего-то, более быстрая, которая требует компиляции, и "чистая какая-то" (в данном случае java), которая не требует. Последнее кажется маловероятной возможностью здесь, но я не знаю наверняка; тот факт, что первая появляется как пакет, применимый ко "всем" платформам, интересен по сравнению со второй, которая является списком, специфичным для архитектуры.

Так в чем же разница в номенклатуре Debian между -javaпакетом и -jniпакетом?


Теперь я предполагаю, что -jniпакет позволяет использовать эту библиотеку «в обратном порядке», т. е. из C/C++, если кто-то может это подтвердить или опровергнуть...

решение1

libjinput-javaи libjinput-jniпостроены изтот же источник. -javaПакет содержит архитектурно-независимый, чистый Java JAR, а также -jniпакет содержит архитектурно-специфическую библиотеку, которая обеспечивает собственную функциональность, требуемую пакетом Java. Обратите внимание, чтоlibjinput-javaзависит от libjinput-jni: это не две разные реализации jinput, это две части jinput, и обе они необходимы для работы программного обеспечения, зависящего от jinput.

Разделение пакетов — это просто случай разделения файлов, не зависящих от архитектуры, от файлов, зависящих от архитектуры.

(JNI — этоСобственный интерфейс Java, что позволяет программам, работающим на JVM, вызывать код в собственных библиотеках.)

Связанный контент