52 votes

Projet Jigsaw vs Maven

De Puzzle De Projet:

Rendre plus facile pour les développeurs à construire et à entretenir des bibliothèques et des les grandes applications, pour le Java SE et EE plates-formes.

Je suis en train d'apprendre ce projet Jigsaw est et jusqu'à maintenant, il semble que l'objectif du Projet Jigsaw un peu de chevauchement avec ce que nous avons fait à l'aide de Maven (ou Gradle) gestion de la dépendance:

  • Est-il une menace pour construire des outils comme Maven?
  • Ou ma compréhension est erronée et projet Jigsaw va compléter ces outils de construction d'une certaine façon?

43voto

michaldo Points 2358

Très simplifié répondre

Après Jigsaw, public sera public que dans le POT de portée. Pour voir la classe à l'extérieur du POT, il doit être exporté.

Java de la force de la modularisation, car toute interaction entre modules devront être spécifiés dans l' module-info le fichier.

Par exemple, si vous produisez une GUERRE, il restera pratiquement inchangé, mais tous les Pots de paquets dans la GUERRE doit définir un module-info (ou de ne pas le définir et d'être traités comme automatique ou non des modules).

Maven a 2 fonctions principales: gestion de la dépendance et de la construction:

  • Gestion de la dépendance des moyens de Maven peut déterminer les versions de bibliothèques et de les télécharger à partir de repositiories.
  • La construction de moyens de Maven permet de compiler du code et de les emballer dans des artefacts.

Pour conclure: Maven sera toujours responsable pour le bâtiment, mais on doit apprendre à compiler et de package à l'aide de la scie Sauteuse modules.

15voto

Jay Points 1993

Les modules ne constituent en aucun cas une menace pour la construction d'outils. Modules complémentaires construire des outils parce que les outils de construction construire un graphe de dépendance des artefacts et leurs versions à construire le temps alors que les modules appliquent les dépendances d'artefacts / modules (non compris les versions) à la compilation et de l' exécution.

De l' état du système de module :

 "A module's declaration does not include a version string, nor
constraints upon the version strings of the modules upon which it
depends. This is intentional: It is not a goal of the module system
to solve the version-selection problem, which is best left to build
tools and container applications."
 

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