Développement : Apache présente la version 2.2 de Maven
Son outil d'automatisation de tâches

Le , par Katleen Erna, Expert éminent sénior
Mise à jour du 06/04/10

Apache Maven 3 annoncé pour le prochain trimestre
Retro-compatiblité et performances accrues pour la future version du projet

Maven 3 devrait arriver dans les deux à trois mois. C'est en tout cas ce que vient de déclarer Jason Van Zyl, son créateur et CTO de la société Sonatype, à la presse.

Maven 3 sera la première grande étape majeure du projet Apache depuis 2005 et la sortie de Maven 2. Ce sera également la première sortie d'une technologie sous l'égide de Sonatype, qui propose un nouveau support commercial et un nouvel écosystème autour du projet.

Avant la sortie de Maven 3, un cycle de versions beta est attendu. Il sera précédé par une ultime version alpha. La dernière version en date de développement de Maven 4 est la 3.0 alpha 7 build.

Pour Van Zyl, la plus importante amélioration qu'apporte Maven 3 se trouve au niveau de l'augmentation des performances qui permettra à Maven de fonctionner (encore mieux) avec l'IDE Eclipse (c'est le projet M2eclipse). Il estime même que le gain de performance correspond à une progression de 200 à 300 %.

Autre cheval de bataille pour Jason Van Zyl, la rétrocompatibilité. Les projets réalisés avec Maven 2 devraient donc bien être compatibles avec le futur, et très attendu, Maven 3.

Les autres nouveautés attendues dans Maven 3 sont listées ici par Romain Linsolas.

Lire aussi :

Sonatype va lancer Maven Studio pour Eclipse pour améliorer la productivité des développeurs Java

Et vous ?

Qu'attendez-vous personnellement de Maven 3 ?

MAJ de Gordon Fowler

Développement : Apache présente la version 2.2 de Maven, son outil de build pour projets Java

Maven est un outil open-source de build pour des projets Java qui fut inauguré en 2002 par la fondation Apache. Au lieu de se baser sur une approche par tâche comme les outils conventionnels du moment, Maven utilise une approche déclarative des informations du projet. On décrit donc le contenu et la structure du projet au lieu de déclarer une série de tâches à exécuter. On peut donc avec un fichier de déclaration de quelques lignes, effectuer la compilation du projet, les tests unitaires, le calcul de la couverture de code, le packaging de l'application ainsi qu'un déploiement sur un serveur FTP en une seule commande et ce ne sont là que quelques fonctionnalités de base de Maven 2.

Les informations sur le projet sont définies dans un fichier au format POM (Projet Object Model), qui est un simple fichier pom.xml. Ce fichier va décrire l'entier du projet, ses dépendances, les ressources, les tests ou encore les membres de l'équipes.

Créé à la base pour traiter des projets Java, il a aujourd'hui évolué et permet désormais la prise en charge des langages C/C++ et .net (par l'ajout de plugins). On pourrait le comparer au Makefile du langage C bien que ses fonctionnalités aillent encore plus loin. Il a maintenant remplacé Ant comme outil de build par défaut pour les projets Java et de nombreux projets Java Open-Source l'utilisent.

Maven a récemment été amélioré par son éditeur pour passer à la version 2.2. Parmi les évolutions apportées, on peut noter plusieurs changements majeurs, comme le rehaussement de la version minimale de Java à 1.5 au lieu de 1.4 précédemment. (ceci pouvant causer quelques soucis aux projets démarrés en java 1.4, mais Apache a tout prévu en délivrant cette solution).

Autre problème possible anticipé par Apache : des résultats inattendus qui pourraient résulter d'exécutions avec des id “default-phase” (qui sont maintenant inclus dans le cycle default).

Concernant les algorithmes de versions, on observe un petit retour en arrière avec l'abandon de celui de la version 2.1 au profit du modèle 2.0.
Enfin, on notera qu’une version corrective 2.2.1 est aujourd’hui disponible pour corriger certaines régressions apparues dans la 2.2, pour corriger certaines erreurs d’injection de composants personnalisés et réintégrer wagon-http (pour les échanges avec des dépôts distants accessibles en HTTP).

Source : La note officielle de Maven

Lire aussi :


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Gordon Fowler Gordon Fowler - Expert éminent sénior https://www.developpez.com
le 06/04/2010 à 11:54
Apache Maven 3 annoncé pour le prochain trimestre
Retro-compatiblité et performances accrues pour la future version du projet
Avatar de Traroth2 Traroth2 - Expert éminent sénior https://www.developpez.com
le 07/04/2010 à 17:45
Excellente nouvelle. Il semblerait que Maven 3 soit basé en interne sur l'excellent framework d'injection de dépendances Guice...
Avatar de if_zen if_zen - Membre averti https://www.developpez.com
le 08/04/2010 à 9:14
Bonjour,

Je ne connais pas trop Maven, et je suis en train de me tourner vers des développements n-tiers sur GlassFish, avec l'IDE Eclipse et le plug-in fourni par feu Sun.

J'aimerais savoir si l'utilisation d'un outil tel que Maven est très indiqué ou si au contraire n'est pas primordial pour ce genre de développement. Il me semble que les déploiements ne sont pas trop compliqués depuis l'IDE, que Subversion fournit la notion de versionning. Je ne trouve pas l'utilité d'un site interne généré par Maven non plus.

J'ai peur que l'utilisation de Maven rajoute une couche supplémentaire sur les développements dont on pourrait se passer (configurer les projets, organiser la structure, etc). Le développement n-tiers force déjà à organiser plus ou moins ses projets.

Pourtant Maven semble être une référence, alors je me pose des questions.

Pour terminer, le développement n-tiers est déjà une nouveauté chez nous, donc j'ai peur que l'apprentissage de Maven soit plus une complexité supplémentaire qu'une valeur ajoutée.
Avatar de Tcharl Tcharl - Membre actif https://www.developpez.com
le 08/04/2010 à 16:02
If_zen. En effet, si on préfère programmer avec les pieds, il ne faut pas utiliser Maven.
Par contre, si on veut un projet bien découpé (modules Maven), Non regressif sur toutes les couches (tests unitaire & tests d'intégration), une liaison avec un scm (subversion...), une intégration continue (hudson...) et un jar final de - d'1mo (du fait de l'importation des librairies nécessaires à la compilation) il faut l'utiliser!
Maven devient vite indispensable pour des projets de grandes envergures dû aux qualités que je viens de citer, par contre, le coût d'entrée n'est pas négligeable, et y mettre un doigt, c'est y mettre le bras!
Offres d'emploi IT
Architecte et intégrateur scade/simulink H/F
Safran - Ile de France - Vélizy-Villacoublay (78140)
Ingénieur conception en électronique de puissance H/F
Safran - Ile de France - Moissy-Cramayel (77550)
Architecte sécurité des systèmes d'information embarqués H/F
Safran - Ile de France - 100 rue de Paris 91300 MASSY

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil