github/gitignore · Java.gitignore
Penjelasan template .gitignore Java
Menjelaskan mengapa Java.gitignore mengabaikan file .class, arsip paket (jar, war), dan log crash JVM, serta masalah urutan saat dipakai bersama template alat build.
Java.gitignore adalah template pendek sekitar 13 baris yang hanya menangani hasil kompilasi dan file yang ditinggalkan JVM. target/ milik Maven dan build/ milik Gradle tidak termasuk, jadi pada proyek nyata biasanya dipakai bersama template Maven atau Gradle dan template IDE.
Aturan yang paling perlu diperhatikan adalah *.jar. Tujuannya agar arsip distribusi tidak masuk ke repositori, tetapi jar wrapper alat build juga ikut diabaikan, sehingga urutan kombinasi harus diperhatikan.
Penjelasan per aturan
| Pola | Apa yang diabaikan dan mengapa |
|---|---|
*.class | Hasil kompilasiBytecode yang dibuat javac dari kode sumber. Selama kode sumbernya ada, bisa dibuat ulang kapan saja, dan isinya berbeda tergantung versi compiler. |
*.jar*.war*.nar*.ear*.zip*.tar.gz*.rar | Arsip paketFile distribusi dan file arsip yang dihasilkan build. Tujuannya agar dependensi diambil dari repositori seperti Maven Central, alih-alih cara lama memasukkan jar dependensi langsung ke repositori. |
hs_err_pid*replay_pid* | Log crash JVMhs_err_pid<nomor>.log yang ditinggalkan JVM di direktori kerja saat berhenti tidak normal, dan file replay_pid untuk mereproduksi compiler JIT. Ini file sekali pakai untuk debugging. |
*.log | LogLog eksekusi aplikasi. Jika file log di-commit, setiap eksekusi akan memunculkan perubahan dan informasi operasional bisa bocor. |
*.ctxt.mtj.tmp/ | BlueJ dan J2MEFile konteks IDE edukasi BlueJ dan folder sementara Mobile Tools for Java (J2ME). Jika tidak memakai alat tersebut, tidak ada pengaruhnya. |
Hal yang perlu diperhatikan dalam praktik
*.jarjuga mengabaikangradle/wrapper/gradle-wrapper.jarmilik Gradle wrapper.!gradle-wrapper.jardi template Gradle menyelesaikan masalah ini, tetapi karena git mengikuti aturan terakhir yang cocok, pilih agar Gradle datang setelah Java.- Folder build (
target/,build/) tidak ada di template ini. Tambahkan template Maven atau Gradle. - File IDE seperti
.idea/IntelliJ serta.projectdan.classpathEclipse ditangani dengan template JetBrains dan Eclipse. - Jika jar pustaka memang harus dimasukkan ke repositori, sertakan kembali hanya path tertentu seperti
!libs/*.jar.
Template asli
Java.gitignore
# 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*
Sumber template: github/gitignore/Java.gitignore @356fd7b (2026-09-11) · CC0-1.0