Java-.gitignore-Vorlage erklärt
Erklärt, warum Java.gitignore .class-Dateien, Paketarchive (jar·war) und JVM-Absturzprotokolle ignoriert, und welches Reihenfolgeproblem bei der Kombination mit Build-Tool-Vorlagen entsteht.
Java.gitignore ist eine kurze Vorlage mit rund 13 Zeilen, die nur Kompilierergebnisse und von der JVM hinterlassene Dateien behandelt. Mavens target/ und Gradles build/ sind nicht enthalten; in echten Projekten kombiniert man sie daher üblicherweise mit den Vorlagen Maven oder Gradle und einer IDE-Vorlage.
Die auffälligste Regel ist *.jar. Sie soll verhindern, dass Distributionsarchive ins Repository gelangen, ignoriert aber auch das Wrapper-jar der Build-Tools. Deshalb muss man auf die Reihenfolge der Kombination achten.
Regeln im Einzelnen
| Muster | Was ignoriert wird und warum |
|---|---|
*.class | KompilierergebnisseBytecode, den javac aus den Quellen erzeugt. Solange die Quellen vorhanden sind, lässt er sich jederzeit neu erzeugen, und sein Inhalt hängt von der Compilerversion ab. |
*.jar*.war*.nar*.ear*.zip*.tar.gz*.rar | PaketarchiveDistributionsdateien und Archive aus dem Build. Ziel ist, Abhängigkeiten aus einer Registry wie Maven Central zu beziehen, statt jar-Dateien wie früher direkt ins Repository zu legen. |
hs_err_pid*replay_pid* | JVM-Absturzprotokollehs_err_pid<Nummer>.log, das die JVM bei einem abnormalen Ende im Arbeitsverzeichnis hinterlässt, und replay_pid-Dateien zur Reproduktion des JIT-Compilers. Es sind einmalige Debug-Dateien. |
*.log | LogsLaufzeitprotokolle der Anwendung. Committete Logdateien erzeugen bei jeder Ausführung Änderungen und können Betriebsinformationen preisgeben. |
*.ctxt.mtj.tmp/ | BlueJ·J2MEKontextdateien der Lern-IDE BlueJ und der temporäre Ordner von Mobile Tools for Java (J2ME). Ohne diese Werkzeuge hat die Regel keine Auswirkung. |
Hinweise für die Praxis
*.jarignoriert auchgradle/wrapper/gradle-wrapper.jardes Gradle-Wrappers. Die Regel!gradle-wrapper.jarder Gradle-Vorlage löst das Problem, doch da git der zuletzt passenden Regel folgt, müssen Sie so auswählen, dass Gradle nach Java kommt.- Build-Ordner (
target/,build/) sind in dieser Vorlage nicht enthalten. Ergänzen Sie die Vorlage Maven oder Gradle. - IDE-Dateien wie
.idea/von IntelliJ oder.projectund.classpathvon Eclipse werden über die Vorlagen JetBrains und Eclipse abgedeckt. - Wenn Bibliotheks-jars unbedingt ins Repository müssen, nehmen Sie nur einen bestimmten Pfad wieder auf, etwa
!libs/*.jar.
Originalvorlage
# 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*
Vorlagenquelle: github/gitignore/Java.gitignore @356fd7b (2026-09-11) · CC0-1.0