Modèle .gitignore Java expliqué
Explique pourquoi Java.gitignore ignore les fichiers .class, les archives de paquets (jar·war) et les logs de crash de la JVM, et le problème d'ordre qui se pose quand on le combine avec les modèles d'outils de build.
Java.gitignore est un modèle court d'environ 13 lignes qui ne traite que des résultats de compilation et des fichiers laissés par la JVM. Il ne contient ni le target/ de Maven ni le build/ de Gradle : dans un vrai projet, on l'associe généralement aux modèles Maven ou Gradle et à un modèle d'IDE.
La règle la plus notable est *.jar. Son intention est de ne pas placer les archives de distribution dans le dépôt, mais elle ignore aussi le jar du wrapper des outils de build : il faut donc faire attention à l'ordre de combinaison.
Explication règle par règle
| Motif | Ce qui est ignoré et pourquoi |
|---|---|
*.class | Résultats de compilationBytecode produit par javac à partir des sources. Il peut être recréé à tout moment tant que les sources sont là, et son contenu varie selon la version du compilateur. |
*.jar*.war*.nar*.ear*.zip*.tar.gz*.rar | Archives de paquetsFichiers de distribution et archives compressées issus du build. L'objectif est de récupérer les dépendances depuis un registre comme Maven Central, plutôt que de placer directement les jar dans le dépôt comme on le faisait autrefois. |
hs_err_pid*replay_pid* | Logs de crash de la JVMhs_err_pid<numéro>.log que la JVM laisse dans le répertoire de travail lorsqu'elle s'arrête anormalement, et fichiers replay_pid servant à reproduire le compilateur JIT. Ce sont des fichiers de débogage ponctuels. |
*.log | LogsLogs d'exécution de l'application. Commiter des fichiers de log crée des modifications à chaque exécution et peut faire fuiter des informations d'exploitation. |
*.ctxt.mtj.tmp/ | BlueJ·J2MEFichiers de contexte de BlueJ, un IDE pédagogique, et dossier temporaire de Mobile Tools for Java (J2ME). Sans effet si vous n'utilisez pas ces outils. |
Points d'attention en pratique
*.jarignore aussigradle/wrapper/gradle-wrapper.jardu wrapper Gradle. La règle!gradle-wrapper.jardu modèle Gradle règle ce problème, mais comme git suit la dernière règle correspondante, il faut sélectionner les modèles de sorte que Gradle vienne après Java.- Les dossiers de build (
target/,build/) ne figurent pas dans ce modèle. Ajoutez le modèle Maven ou Gradle. - Les fichiers d'IDE comme
.idea/d'IntelliJ ou.projectet.classpathd'Eclipse sont traités par les modèles JetBrains et Eclipse. - Si vous devez absolument placer des jar de bibliothèques dans le dépôt, réincluez uniquement un chemin précis, par exemple
!libs/*.jar.
Modèle d'origine
# Compiled class file*.class# Log file*.log# BlueJ files*.ctxt# Mobile Tools for Java (J2ME).mtj.tmp/# Package Files #*.jar*.war*.nar*.ear*.zip*.tar.gz*.rar# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xmlhs_err_pid*replay_pid*
Source des modèles : github/gitignore/Java.gitignore @356fd7b (2026-09-11) · CC0-1.0