J'ai un projet Maven consiste en environ 100 modules. J'ai des raisons de décomposer le projet à tant de modules, et je ne pense pas que je devrais les fusionner afin d'accélérer le processus de construction.
J'ai lu beaucoup de projets par d'autres personnes, par exemple, le projet Maven lui-même, et Apache Archiva, et le projet Hudson, ils se comptent tous de nombreux modules, près de 100 peut-être, plus ou moins.
Le problème est que de les construire tous besoin de beaucoup de temps, 3 heures pour la première fois pour la première fois (c'est acceptable car beaucoup d'artefacts à télécharger) et 15 minutes pour la deuxième construction (ce n'est pas acceptable).
Pour la voiture, les choses sont similaires, la première fois que vous devez configurer le projet, pour préparer le fichier magique config.h, il est beaucoup plus complexe que ce que fait Maven. Mais c'est toujours rapide, peut-être 10 secondes sur ma boîte de Debian. Ensuite, make install
nécessite peut-être 10 minutes pour la première fois. Cependant, quand tout se prépare, le .o
Les fichiers d'objet sont générés, ils n'ont pas à reconstruire du tout pour la deuxième construction. (À Maven, tout reconstruisant à chaque fois.)
Je me demande très, comment les gars travaillant pour des projets maven peuvent nuire cette longue période pour chaque construction, je ne peux tout simplement pas vous asseoir calmement pendant chaque fois la construction maven, elle a vraiment pris trop de temps, vraiment.
Quelle partie de votre construction maven prend la plus longue? Vous trouverez peut-être que Javac est votre goulot d'étranglement principal. C'est peut-être l'exécution du test de l'unité, essayez d'exécuter vos tests en parallèle. Sans plus de détails, il est vraiment difficile de donner une réponse utile. Quelle est la taille des projets?
Les constructions sont-elles assez parallélélisables? Si vous utilisez Maven 3 (ou vous allumez-y, il est compatible 99% avec 2.x), vous pouvez exécuter des constructions parallèles.
Je pense que votre blâme pour Maven est égaré, en ce qui concerne la performance, cela n'ajoute vraiment pas beaucoup de frais généraux. J'ai converti plusieurs grands projets et j'ai vu que les constructions accélèrent considérablement.
Cette comparaison n'a de sens que si elles construisent exactement le même projet. Sinon, vous devriez peut-être essayer de construire un fichier de fabrication pour construire le même projet que vous construisez avec Maven.
Comparez-vous comme des cas? IE sont les deux bâtiments sur la même quantité de code.
Si les constructions sont beaucoup plus lentes dans Maven, il peut être maven mais plus probable est le compilateur lui-même. (Maven ne compile rien, il ne fait que lance le compilateur)
Pour que cela passe plus vite, essayez de voir s'il y a un moyen d'exécuter 2-4 threads à la fois, je ne sais pas comment faire cela dans Maven mais en faire, ce serait "make -j 4". Après cela, plus de RAM aidera, de même que le disque d'état solide.