J'utilise un artificiel local pour proxy la demande, mais les phases de construction et de test sont encore un peu lentes. Ce n'est pas la compilation et les tests réels qui sont lents, c'est le "warmup" du framework maven2. Des idées?
Réponses
Trop de publicités?Je ne sais pas de quelle version de Maven vous utilisez, je suppose que 2, mais je vous donne ce que j'utilise Maven 1.x pour accélérer et rendre les choses construire un tout petit peu plus rapide.
Ces fourche junit tests dans un nouveau processus (aide également lorsque vous utilisez des variables d'environnement dans les tests etc et donne les tests un peu plus de mémoire.
-Dmaven.junit.fork=true
-Dmaven.junit.jvmargs=-Xmx512m
Cette fourche de la compilation qui pourrait accélérer les choses pour vous
-Dmaven.compile.fork=true
J'espère que cela peut aider un peu, essayer.
Se référer également à obtenir plus de vitesse avec votre maven2 construire.
Ajuster les configurations de la mémoire à l'optimum pour exemple: ajoutez cette ligne à mvn.chauve-souris ensemble MAVEN_OPTS=-Xmx512m -XX:MaxPermSize=256m
Nettoyer la phase de mvn normalement supprime le dossier cible. Au lieu de cela, si nous sommes en renommant le dossier cible de la phase de lavage sera beaucoup plus rapide.<quickClean>
-Dmaven.test.skip=true va sauter dans l'exécution d'un test.
Ajoutez -Denforcer.skip=true pour mvn argument de ligne de commande (C'est l'application de versions de maven, jdk, etc ,nous pouvons l'ignorer après les premières pistes)
Désactiver des activités non essentielles pendant la phase de construction: l'Analyse, la génération de la javadoc, la source de l'emballage. Cela permettra d'économiser du temps énorme.
-
Spawnig nouveau processus contribue également à l'amélioration de la durée de -Dmaven.junit.fourche=true (fourche junit tests dans un nouveau processus) -Dmaven.compiler.fourche=true (fourches de la compilation)
Espérons que cela aide.
J'ai trouvé que l'analyse des projets de réacteur est nettement plus lent que les mono-pom projets. Si votre construction est de réacteur (multi-modules) et les développeurs ne travaillent pas sur tous les modules en même temps, vous pouvez supprimer le parent de POM et de construire séparément, de résoudre les dépendances, en utilisant le repo. L'inconvénient est que vous avez besoin d'installer ou de déployer un module pour ses personnes à charge afin de voir les modifications.
Aussi, vous voudrez peut-être regarder à la nouvelle Maven 2.1 M1 qui contient d'importantes améliorations de la vitesse.
Si aucune de ces aides, afficher plus de détails sur votre configuration de projet (structure des modules et plugins), paramètres de ligne de commande et le matériel de config (mémoire et disque). L'exécution de Maven avec -X peut aussi montrer où est-il en prenant son temps.