Pacotes java compilados (?) no Debian

Pacotes java compilados (?) no Debian

Percebo que, ao procurar a biblioteca jinput no Debian (acredito que o "j" aqui implica que esta é uma biblioteca específica do Java, e não um simples wrapper), há dois pacotes que podem ser aplicados:

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

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

Observe que este é um sistema ARM. Eu sei que outras linguagens às vezes têm duas implementações de algo, uma mais rápida que requer compilação e uma "pura qualquer coisa" (neste caso java) que não. Esta última parece uma possibilidade improvável aqui, mas não tenho certeza; o fato do primeiro aparecer como um pacote aplicável a "todas" plataformas é interessante versus o segundo, que é uma listagem específica de arquitetura.

Então qual é a diferença, na nomenclatura Debian, entre um -javapacote e um -jnipacote?


Agora estou supondo que o -jnipacote permite que esta biblioteca seja usada "ao contrário", ou seja, a partir de C/C++, se alguém puder confirmar ou negar isso...

Responder1

libjinput-javae libjinput-jnisão construídos a partira mesma fonte. O -javapacote contém o Java JAR puro, independente da arquitetura, e o -jnipacote contém a biblioteca específica da arquitetura que fornece a funcionalidade nativa exigida pelo pacote Java. Notar quelibjinput-javadepende de libjinput-jni: eles não são duas implementações diferentes de jinput, são duas partes de jinput e ambas são necessárias para que o software dependente de jinput funcione.

A separação de pacotes é simplesmente um caso de separação de arquivos independentes de arquitetura daqueles específicos de arquitetura.

(JNI é oInterface nativa Java, que permite que programas executados em uma JVM chamem código em bibliotecas nativas.)

informação relacionada