2010-08-16 4 views
1

désolé d'être stupide ici, mais je n'ai pas réussi à voir pourquoi ces outils peuvent accélérer la construction. Par exemple (si je comprends bien), maven-cli vous oblige à faire une compilation une fois: nettoyer, compiler, installer, puis accélérer votre build en mettant en cache la phrase propre et compilée, ainsi vous pouvez exécuter le Installez la phrase seulement encore et encore. À mon premier coup d'œil, cela semble accélérer les choses en ne passant pas à travers la boucle complète à plusieurs reprises. Cependant, en réalité, si je fais des changements de code, ne devrais-je pas toujours recompiler mon code avant de lancer l'installation? dans ce cas, comment la vitesse devient-elle plus rapide? la phrase propre pourrait être plus rapide, mais pour mon projet 100 modules, le clean ne prend que 5 secondes de toute façon.comment des choses comme maven-cli-plugin/mvnsh accélèrent la construction de maven?

alors est-ce que je suis complètement incompris à propos de ces outils? peut en quelque sorte m'expliquer comment ces outils peuvent améliorer la vitesse du tout? Merci.

mvnsh: http://shell.sonatype.org/faq.html

MVN-cli-plugin: http://wiki.github.com/mrdon/maven-cli-plugin/

Répondre

2

En bref, l'idée de ces outils est de ne pas sauter les phases mais pour éviter le coût de l'initialisation de la machine virtuelle Java, du Maven moteur, de plugins, etc à chaque construction en les mettant en cache dans un environnement prêt à (re) utiliser.

C'est assez bien résumé (peut-être mieux que dans la FAQ) dans ce Intro to Maven Shell blog:

Sonatype a publié un utilitaire astucieux appelé Maven Shell qui permet aux développeurs d'exécuter les objectifs/phases maven dans un environnement préchargé shell, ce qui réduit significativement le temps de construction. Il le fait par chargement d'une JVM, Maven, et plugin une fois chargé et exploite cette charge existante pour chaque construire. J'ai téléchargé le binaire .10 et joué avec un très simple projet multi-module . Voici un aperçu rapide de sur certaines des choses que vous pouvez attendre de Maven Shell.

Le même billet de blog fournit des métriques illustrant les améliorations apportées à une construction simple.

Personnellement, j'adore Maven Shell, c'est vraiment un outil formidable et je l'ai chaudement recommandé à tout utilisateur de Maven.

Questions connexes