github/gitignore · Maven.gitignore
Maven .gitignore 模板详解
说明 Maven.gitignore 忽略 target 目录、release 插件备份、shade 插件产物、Maven 包装器 jar 和 Eclipse 文件的原因。
Maven.gitignore 拦截 Maven 在构建和发布过程中生成的文件。由于这个工具的设计是把所有产物集中到 target/,规则很简单。
对于 Maven 包装器,近来推荐的做法是提交 mvnw、mvnw.cmd、.mvn/wrapper/maven-wrapper.properties,并按模板忽略 jar。包装器脚本会在需要时下载 jar 或 Maven 发行版。
逐条规则详解
| 模式 | 忽略什么,为什么忽略 |
|---|---|
target/ | 构建输出存放编译后的类、测试结果以及打包好的 jar、war 的标准输出目录。用 mvn clean 删除后重新生成。 |
pom.xml.tagpom.xml.releaseBackuppom.xml.nextrelease.properties | release 插件文件maven-release-plugin 在 release:prepare 期间生成的备份和进度状态文件。发布完成或回滚后就不再需要。 |
pom.xml.versionsBackup | versions 插件备份versions-maven-plugin 在 versions:set 之前留下的原始文件备份。 |
dependency-reduced-pom.xmlbuildNumber.properties | 插件生成文件maven-shade-plugin 生成的精简 POM,以及 buildnumber 插件的编号文件。 |
.mvn/timing.properties | 本地测量值构建耗时的测量结果,每个人的值都不同。 |
.mvn/wrapper/maven-wrapper.jar | 包装器 jar包装器脚本可以在需要时下载的二进制文件。模板中链接的 Maven Wrapper 文档说明了不使用 jar 的方法。 |
.project.classpath | Eclipse m2e 文件Eclipse 根据 POM 生成的项目文件。 |
实践中的注意事项
.mvn/maven.config和.mvn/jvm.config是团队公共的构建选项,应当提交。此模板不会忽略这两个文件。- 如果要在
settings.xml中写入仓库密码,请放在~/.m2/settings.xml中,而不是项目里。 - 如果使用 IntelliJ,请同时选择 JetBrains 模板。
原始模板
Maven.gitignore
target/pom.xml.tagpom.xml.releaseBackuppom.xml.versionsBackuppom.xml.nextrelease.propertiesdependency-reduced-pom.xmlbuildNumber.properties.mvn/timing.properties# https://maven.apache.org/tools/wrapper/#Usage_with_or_without_Binary_JAR.mvn/wrapper/maven-wrapper.jar# Eclipse m2e generated files# Eclipse Core.project# JDT-specific (Eclipse Java Development Tools).classpath
模板来源: github/gitignore/Maven.gitignore @356fd7b (2026-09-11) · CC0-1.0