github/gitignore · Java.gitignore

Template .gitignore do Java explicado

Explica por que o Java.gitignore ignora arquivos .class, arquivos de pacote (jar, war) e logs de falha da JVM, e o problema de ordem ao usá-lo junto com templates de ferramentas de build.

Abrir no gerador Abrir junto com Maven, Gradle, JetBrains, macOS

O Java.gitignore é um template curto, de cerca de 13 linhas, que trata apenas dos resultados de compilação e dos arquivos deixados pela JVM. Não inclui o target/ do Maven nem o build/ do Gradle, então em um projeto real o normal é usá-lo junto com os templates de Maven ou Gradle e o da IDE.

A regra que mais merece atenção é *.jar. A intenção é não colocar arquivos de distribuição no repositório, mas ela também ignora o jar do wrapper da ferramenta de build, então é preciso cuidar da ordem da combinação.

Explicação regra por regra

PadrãoO que ignora e por quê
*.classResultados de compilaçãoÉ o bytecode que o javac gera a partir do código-fonte. Com o código-fonte ele pode ser recriado a qualquer momento, e o conteúdo muda conforme a versão do compilador.
*.jar*.war*.nar*.ear*.zip*.tar.gz*.rarArquivos de pacoteSão os arquivos de distribuição e compactados que saem do build. O objetivo é obter as dependências de registros como o Maven Central em vez da antiga prática de colocar os jars direto no repositório.
hs_err_pid*replay_pid*Logs de falha da JVMSão o hs_err_pid<número>.log que a JVM deixa no diretório de trabalho quando termina de forma anormal e os arquivos replay_pid para reproduzir o compilador JIT. São arquivos de uso único para depuração.
*.logLogsSão os logs de execução da aplicação. Se forem commitados, cada execução gera mudanças e informações de operação podem vazar.
*.ctxt.mtj.tmp/BlueJ e J2MESão os arquivos de contexto da IDE educacional BlueJ e a pasta temporária do Mobile Tools for Java (J2ME). Se você não usa essas ferramentas, não há efeito.

Cuidados na prática

Template original

Java.gitignore13 linhas de regras
# 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*

Origem dos templates: github/gitignore/Java.gitignore @356fd7b (2026-09-11) · CC0-1.0

Templates usados em conjunto

Outros templates explicados