Il n’est pas évident de savoir quelle est la version de maven minimale conseillée pour une version de Java car la documentation maven de le précise pas.
On sait quelle est la version minimale de JDK pour chaque version « Maven 3.8+ requires JDK 1.7 or above to execute. » mais pas la version maximale.
C’est pour cette raison que je vous propose un tableau récapitulatif (la méthode utilisée est décrite sous le tableau).
De manière générale, si vous pouvez installer la dernière version de Maven, c’est la version conseillée à installer car elle supporte toutes les versions de Java antérieures !
Version
Version minimale de Maven
Version minimale conseillée
Java 20
?
?
Java 19
?
3.8.7
Java 18
3.8.5
3.8.6
Java 17
3.6.3
3.8.3
Java 16
3.6.3
3.8.1
Java 15
3.6.3
3.6.3
Java 14
3.6.3
3.6.3
Java 13
3.6.3
3.6.2
Java 12
3.6.3
3.6.1
Java 11
3.5.3
3.6.0
Java 10
3.5.3
3.5.3
Java 9
3.3.3
3.5.0
Java 8
3.2.3
3.2.3
Version minimale de Maven: version minimale trouvée dans les images Docker officielles Maven: https://hub.docker.com/_/maven
Version conseillée: Première release de maven sortie après la release du JDK correspondant car de façon générale les releases de maven supportent tous les JDK sorties précédemments.
Il arrive que la code review nous empêche de merge nos PR assez vite et qu’on se retrouve à tirer une branche d’une branche de travail pour avancer 😔
Une fois la première PR squash et merge, la PR issue de la seconde branche se retrouve avec des conflits 💥
Si vous avez déjà vécu cette situation, il y a de bonnes chances que vous ayez cherry-pick vos commits de travail sur une...
Il arrive souvent que pour tester unitairement des règles de validation, on doive tester le même cas mais avec des exemples différents. Sans tests paramétrés, ça revient à faire un test par cas ce qui peut alourdir notre fichier de tests.
On va voir comme...
Avant .Net 8, tester du code qui utilise DateTime.Now() n’était pas trivial, on devait faire en sorte de mocker la Clock dans nos tests. Depuis .Net 8, c’est beaucoup plus facile grâce à TimeProvider inclut par défaut !
En deux mots, TimeProvider est une...
La gestion des erreurs de son API est très importante pour que les consommateurs puissent avoir une description claire du problème mais c’est souvent fastidieux à maintenir.
On va voir comment avoir des statuts de réponse cohérent et des messages d’erre...