85 votes

Pourquoi Java 9 a-t-il introduit le format de fichier JMOD ?

Java 9 a trois façons de paquet compilé le code dans les fichiers:

  • JAR
  • JMOD
  • JIMAGE

JIMAGE est optimisé pour la vitesse et de l'espace et utilisé par la JVM au moment de l'exécution, donc il est logique pourquoi JIMAGE a été introduit. JIMAGE fichiers ne sont pas censé être publié à maven repos ou utilisés lors de la compilation ou de la liaison.

Les docs prétendre que JMOD peut stocker du code natif et d'autres choses qui ne peuvent pas être stockées par les fichiers JAR et que les développeurs peuvent faire et de distribuer leurs propres JMOD fichiers. Le JDK fourni avec jmods/ répertoire contenant tous les modules de la JDK pour les utilisateurs dépendent.

Questions:

  • Pourquoi Java 9 introduire la JMOD format de fichier?
  • Si une bibliothèque auteur de distribuer un JMOD fichier ou un fichier JAR ou les deux?
  • Devrait jmod les fichiers publiés pour maven repos?

14voto

Michael Easter Points 7482

Voici quelques citations de PEC 261: Système de Module, qui contient une section sur JMOD fichiers.

Pourquoi?

De JEP 261:

La nouvelle JMOD format va au-delà de fichiers JAR pour inclure du code natif, les fichiers de configuration, et d'autres types de données qui ne correspondent pas naturellement, si, dans les fichiers JAR.

et

Le format final de JMOD fichiers est une question ouverte, mais pour l'instant c'est basé sur des fichiers ZIP.

Un développeur doit-il publier JMOD fichiers?

Notez que JMOD fichiers semblent être un moyen d'intégrer du code natif (entre autres choses) au moment de la compilation et link-temps. De JEP 261:

JMOD fichiers peuvent être utilisés au moment de la compilation et de la liaison, mais pas lors de l'exécution temps.

(Pour être honnête, je ne suis pas sûr de savoir comment le code natif est publié pré-JDK 9.) Pour la grande majorité des développeurs (sans bibliothèques natives ou autre coin-cas), nous allons simplement publier modulaire pots.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X