github/gitignore · Java.gitignore

Java .gitignore 模板详解

说明 Java.gitignore 忽略 .class 文件、包归档(jar、war)和 JVM 崩溃日志的原因,以及与构建工具模板一起使用时的顺序问题。

在生成器中打开 与 Maven, Gradle, JetBrains, macOS 一起打开

Java.gitignore 是一个只有约 13 行的简短模板,只处理编译结果和 JVM 留下的文件。它不包含 Maven 的 target/ 或 Gradle 的 build/,因此实际项目中通常会与 Maven、Gradle 模板以及 IDE 模板一起使用。

最值得关注的规则是 *.jar。它的意图是不把发布用归档放进仓库,但构建工具的包装器(wrapper)jar 也会一并被忽略,因此需要注意组合顺序。

逐条规则详解

模式忽略什么,为什么忽略
*.class编译结果javac 从源码生成的字节码。只要有源码就能随时重新生成,而且内容会随编译器版本而变化。
*.jar*.war*.nar*.ear*.zip*.tar.gz*.rar包归档构建产生的发布文件和压缩文件。目的是取代过去把依赖 jar 直接放进仓库的做法,改为从 Maven Central 等仓库获取。
hs_err_pid*replay_pid*JVM 崩溃日志JVM 异常退出时在工作目录留下的 hs_err_pid<编号>.log,以及用于复现 JIT 编译器问题的 replay_pid 文件。它们是一次性的调试文件。
*.log日志应用程序运行日志。提交日志文件会让每次运行都产生变更,还可能泄露运维信息。
*.ctxt.mtj.tmp/BlueJ 与 J2ME教学用 IDE BlueJ 的上下文文件,以及 Mobile Tools for Java(J2ME)的临时目录。不使用这些工具就没有影响。

实践中的注意事项

原始模板

Java.gitignore规则 13 行
# 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*

模板来源: github/gitignore/Java.gitignore @356fd7b (2026-09-11) · CC0-1.0

常搭配使用的模板

其他模板详解