Quando você começa a aprender Java, a primeira barreira que encontrará é a “compilação”. Apenas escrever o código‑fonte (.java) não executa nada — é preciso compilá‑lo usando o comando javac para gerar um arquivo .class, e só então o programa pode ser executado. Neste artigo, resumimos o procedimento de compilação Java, o uso básico do javac, a configuração do PATH e soluções para erros comuns de iniciantes — em um fluxo que até um completo novato pode seguir passo a passo. O objetivo é passar de “Por onde eu começo a compilar Java?” para digitar comandos com confiança, sem hesitação.
- 1 O Que É Compilação em Java?|Explicação Amigável para Iniciantes sobre “Compilação”
- 2 Preparação Necessária Antes de Compilar Java
- 3 Vamos Compilar um Arquivo Java de Verdade
- 4 Como Executá‑Lo Após a Compilação
- 5 Erros Frequentes e Como Corrigi‑los
- 6 Compilando Usando uma IDE
- 7 Noções Básicas das Opções do javac
- 8 Resumo
- 9 FAQ: Perguntas Frequentes Sobre a Compilação Java
O Que É Compilação em Java?|Explicação Amigável para Iniciantes sobre “Compilação”
Em Java, “compilação” é o processo de converter o código‑fonte escrito por humanos (.java) em um formato legível pela Java Virtual Machine (JVM).
O resultado é o arquivo .class, chamado bytecode.
Ao contrário de linguagens como C, que compilam diretamente para código nativo, Java tem uma etapa intermediária — o código‑fonte é primeiro convertido em bytecode, que depois é executado na JVM.
Esse mecanismo permite que o mesmo arquivo .class rode em diferentes ambientes de SO — ou seja, você pode executar o exato mesmo programa Java no Windows, macOS ou Linux.
Outro elemento crucial que você deve entender: compilar e executar são ações distintas.
- “javac” → cuida da compilação
- “java” → cuida da execução
A maioria dos iniciantes falha porque essa distinção lhes parece vaga. Esclarecer esses “dois papéis diferentes” torna‑se o passo mais eficiente para sua compreensão inicial.
Preparação Necessária Antes de Compilar Java
Para compilar Java, você precisa ter o JDK (Java Development Kit) instalado.
O JRE sozinho não pode compilar código, pois a ferramenta de compilação javac está incluída apenas no JDK.
Comece verificando isso:
javac -version
Se esse comando retornar um número de versão, você está pronto para prosseguir.
Se aparecer “command not found” ou erros semelhantes, é muito provável que uma das seguintes situações ocorra:
- O JDK não está instalado
- O JDK está instalado, mas o PATH não está configurado
- Você tem apenas o JRE instalado (sem kit de desenvolvimento)
A configuração do PATH é especialmente onde usuários japoneses ficam presos.
Se o sistema operacional não reconhecer o caminho até javac.exe (ou o diretório /bin), a compilação não funcionará.
Conclusão:
“Prepare o JDK” e “Verifique o PATH” — somente com esses dois itens você pode estar realmente na linha de partida da compilação Java.
Vamos Compilar um Arquivo Java de Verdade
Aqui, criaremos um código de exemplo e confirmaremos o procedimento de compilação com javac.
Primeiro, salve o conteúdo a seguir em um editor de texto.
Sample.java
public class Sample {
public static void main(String[] args) {
System.out.println("Hello Java!");
}
}
O nome do arquivo deve ser Sample.java, e o nome da classe pública deve coincidir com o nome do arquivo.
Se essa regra for violada, a compilação falhará — esse é um dos erros mais comuns entre iniciantes.
Em seguida, execute o seguinte no terminal / prompt de comando:
javac Sample.java
Se tudo for executado normalmente, Sample.class será gerado na mesma pasta.
Isso indica “compilação concluída”.
Portanto, neste momento você tem:
- Sample.java (fonte)
- Sample.class (bytecode)
Esse par está pronto.
Nesta fase, você está preparado para “executar um programa Java”.
Como Executá‑Lo Após a Compilação
Depois que a compilação termina, o próximo passo é executar o arquivo .class.
O comando usado aqui é java — não javac.
java Sample
Ponto chave: não escreva a extensão .class.
Escrever java Sample.class causará um erro.
O Java foi projetado para executar com base no nome da classe (sem extensão).
Resumo organizado:
| Role | Command | Target |
|---|---|---|
| Compile | javac Sample.java | .java file |
| Run | java Sample | Class name (without extension) |
Se você compreende a troca de papéis entre javac e java, superou a fase de iniciante.
Se “Hello Java!” aparecer com sucesso, o processo funcionou.
Neste ponto, você já compreendeu o “fluxo” mínimo do Java.
Erros Frequentes e Como Corrigi‑los
Na compilação Java, encontrar erros no início é absolutamente normal.
Aqui focamos apenas nos equívocos que iniciantes japoneses costumam cometer.
1) javac: command not found / 'javac' is not recognized…
Em quase 100 % dos casos, a causa está em uma das seguintes situações:
- O JDK não está instalado
- O PATH não está configurado
Correção:
Execute javac -version para verificar
→ Se nada aparecer, reinstale o JDK e revise a configuração do PATH.
2) A compilação tem sucesso, mas nenhum arquivo .class é gerado
O problema mais comum entre iniciantes japoneses é este:
O nome do arquivo e o nome da classe pública não coincidem
Exemplo — Se Sample.java contém:
public class Test {
}
→ Isso resultará em um erro de compilação.
3) Avisos relacionados à codificação de caracteres
warning: [options] bootstrap class path not set in conjunction with -source 1.7
Avisos como esses não são fatais na maioria dos casos.
Entretanto, podem indicar configurações de versão antiga ou codificação incompatível.
Salvar os arquivos em UTF‑8 é a escolha mais segura.
Compilando Usando uma IDE
No desenvolvimento Java do mundo real, você raramente digita javac manualmente no terminal a cada vez.
Isso ocorre porque a IDE (Ambiente de Desenvolvimento Integrado) lida automaticamente com a compilação em segundo plano.
As três IDEs a seguir são extremamente populares no Japão e também são práticas para quem está aprendendo:
| IDE | Characteristics |
|---|---|
| IntelliJ IDEA | The de-facto standard for modern Java development. Suitable for professional use. |
| Eclipse | Long history, widely used in enterprise projects. |
| VSCode | Lightweight. Java Extension Pack enables a proper Java environment. |
Nas IDEs, a compilação acontece automaticamente toda vez que você salva um arquivo — e a localização dos erros é visualizada instantaneamente.
Isso significa que você pode contornar os obstáculos de iniciante, como “digitar javac errado” ou “configuração de PATH incorreta”.
No entanto, ainda é verdade que há grande valor em experimentar manualmente o javac pelo menos uma vez para entender como o Java funciona.
Quando você compreende o fluxo “compilar → executar” manualmente, sua velocidade de compreensão aumenta drasticamente ao migrar para o desenvolvimento baseado em IDE.
Noções Básicas das Opções do javac
javac não é apenas um “conversor de .java → .class”. Você pode anexar diversas opções para controlar o comportamento da compilação.
Mas, no estágio iniciante, não é necessário memorizar tudo — conhecer apenas as opções mais usadas já basta.
Aqui estão três opções representativas:
| Option | Meaning | Example |
|---|---|---|
-d | Specify output directory for .class files | javac -d out Sample.java |
-classpath | Specify classpath for external libraries / other directories | javac -classpath lib/* Sample.java |
--enable-preview | Enable preview language features | javac --enable-preview Sample.java |
Especial -d é quase obrigatória ao usar pacotes.
Por exemplo, se você escrever package com.example;, deve usar javac -d para gerar corretamente a estrutura de diretórios dentro do diretório de saída.
À medida que você avança para o trabalho real, a especificação do classpath e o uso de -d aumentam drasticamente.
Só de estar ciente desses nomes nesta fase, o aprendizado posterior se torna mais fluido.
Resumo
Para executar programas Java, você deve entender a sequência de 3 etapas: escrever o código fonte → compilar → executar.
Especialmente se você separar mentalmente os papéis do javac (compilação) e do java (execução), a razão “por que a compilação é necessária” passa a fazer total sentido.
Além disso, iniciantes geralmente se prendem a esses dois pontos:
- JDK não está instalado / PATH não está configurado
- Nome do arquivo e nome da classe pública não são iguais
Se você resolver apenas esses dois, evitará grandes desvios na fase de aprendizado.
Depois de se acostumar com o básico, migrar para o desenvolvimento em IDE é totalmente aceitável.
Entretanto, compreender “o mecanismo interno” é o que mais tarde cria a diferença na velocidade de entendimento.
Use este artigo como ponto de partida e, primeiro, conclua com sucesso a conversão .java → .class uma vez.
Esse é o primeiro marco de conquista ao aprender Java.
FAQ: Perguntas Frequentes Sobre a Compilação Java
Q1: Qual a diferença entre javac e java?
A: javac é o comando de compilação — ele converte .java em .class.
Por outro lado, java é o comando de execução — ele roda o .class na JVM.
Q2: Sample.class não é gerado. Qual é a causa?
A: A causa mais comum é que o nome do arquivo e o nome da public class não correspondem.
Se a classe for public class Sample, o arquivo deve ser Sample.java.
Q3: Se eu estiver usando um IDE, ainda preciso aprender javac?
A: Os IDEs compilam automaticamente em segundo plano, mas se você não entender o mecanismo, fica mais difícil compreender o que realmente está acontecendo.
Experimentar o fluxo básico uma vez ajuda a entender o comportamento do IDE mais rapidamente.
Q4: Qual JDK devo instalar?
A: Para iniciantes, as builds LTS do Temurin (Eclipse Adoptium) são fáceis de usar.
Se você não tiver um motivo específico, escolha Java 17 ou 21.
Q5: Eu recebo javac: command not found
A: Ou o JDK não está instalado ou o PATH não está configurado.
Primeiro, execute javac -version para verificar se está reconhecido.


