DevForge

Java

Plataforma robusta e multiplataforma para desenvolvimento enterprise, mobile (Android), backend e microsserviços.

⚡ Instalação automatizada (JDK)

Linux / WSL
curl -fsSL https://rafaelferreira2312.github.io/devforge/scripts/java/install.sh | bash -s 21
Windows PowerShell (Admin)
Set-ExecutionPolicy Bypass -Scope Process; iex "& { $(irm https://rafaelferreira2312.github.io/devforge/scripts/java/install.ps1) } 21"
macOS (Homebrew)
curl -fsSL https://rafaelferreira2312.github.io/devforge/scripts/java/install.sh | bash -s 21

Os scripts instalam o OpenJDK oficial, configuram JAVA_HOME e fazem backup da variável de ambiente anterior.

Requisitos mínimos

  • CPU: 2+ núcleos (x86_64 ou ARM64)
  • RAM: 2 GB (recomendado 4 GB para IDEs)
  • Armazenamento: 5 GB SSD
  • SO: Ubuntu 20.04+, Debian 11+, RHEL 8+, Windows 10/11, macOS 11+

Hardware recomendado (Dev)

  • Notebook: Dell XPS, MacBook Pro M1/M2, Lenovo ThinkPad
  • CPU: i7 / Ryzen 7 ou superior (Android Studio pesado)
  • RAM: 16 GB (32 GB para emuladores + containers)
  • SSD NVMe 512 GB+

🛠️ Stack recomendada

Ferramentas essenciais

  • Build: Maven / Gradle
  • Framework: Spring Boot / Quarkus / Micronaut
  • IDE: IntelliJ IDEA / Eclipse / VS Code
  • Testes: JUnit 5 / Mockito
  • Versionamento: git + GitHub

Extensões VSCode

  • Extension Pack for Java (Microsoft)
  • Spring Boot Extension Pack
  • Maven for Java
  • Gradle for Java
  • Debugger for Java

Docker (opcional)

docker run -it --rm openjdk:21-slim java -version

🔧 Troubleshooting (diagnósticos reais)

❌ Erro: "java: command not found"

Causa: JDK não instalado ou JAVA_HOME não configurado.
Solução: Verifique com which java ou reinstale usando o script DevForge.

⚠️ Erro: "JAVA_HOME is not set"

Causa: Variável de ambiente JAVA_HOME não definida.
Solução: Adicione export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64 no ~/.bashrc

🐘 Erro: "Unsupported major.minor version"

Causa: Versão do Java usada para compilar é mais recente que a versão para executar.
Solução: Use a mesma versão do JDK ou compile com target específico: javac -source 11 -target 11

⚠️ Permissão negada ao executar mvnw/gradlew

Causa: Arquivo sem permissão de execução.
Solução: chmod +x mvnw ou chmod +x gradlew

Diagnóstico automático:

java -version && javac -version && echo "JAVA_HOME: $JAVA_HOME" && echo "PATH: $PATH" | tr ':' '\n' | grep -i java && which java

Este comando verifica: versão do Java Runtime, versão do compilador, variável JAVA_HOME e localização do binário java.

📦 Build Tools (Maven / Gradle)

Maven

mvn clean install
mvn spring-boot:run

Gradle

./gradlew build
./gradlew bootRun

O script de instalação do Java também instala Maven e Gradle automaticamente.

⚠️ IMPORTANTE - Como executar os scripts corretamente

Os scripts abaixo funcionam em Windows, Linux e macOS. Siga as instruções específicas do seu sistema:

WINDOWS (PowerShell)
# ERRO COMUM: "arquivo não assinado" ou "execução de scripts desabilitada" # SOLUÇÃO 1: Executar com bypass (recomendado) powershell -ExecutionPolicy Bypass -File "C:\caminho\script.ps1" # SOLUÇÃO 2: Baixar e executar direto (pode ter erro de codificação) powershell -ExecutionPolicy Bypass -Command "iex (irm https://.../script.ps1)" # SOLUÇÃO 3: Habilitar execução permanentemente (como Administrador) Set-ExecutionPolicy RemoteSigned -Scope CurrentUser # Se houver erros de acentuação (caracteres estranhos): O script ainda funciona, apenas a saída visual pode ficar distorcida
LINUX / WSL (Bash)
# ERRO COMUM: "permission denied" ou "comando não encontrado" # SOLUÇÃO 1: Dar permissão de execução (obrigatório) chmod +x script.sh # SOLUÇÃO 2: Executar o script ./script.sh # SOLUÇÃO 3: Executar via curl (baixar e executar direto) curl -fsSL https://.../script.sh | bash # SOLUÇÃO 4: Se der erro de permissão, use sudo (cuidado!) sudo chmod +x script.sh && sudo ./script.sh # Se houver erros de permissão: Execute 'ls -la script.sh' para verificar permissões atuais
macOS (Terminal / Zsh)
# ERRO COMUM: "permission denied" ou "operation not permitted" # SOLUÇÃO 1: Dar permissão de execução chmod +x script.sh # SOLUÇÃO 2: Executar o script ./script.sh # SOLUÇÃO 3: Se der erro de "quarentena" (arquivo baixado da internet) xattr -d com.apple.quarantine script.sh # SOLUÇÃO 4: Executar via curl curl -fsSL https://.../script.sh | bash # Se erro persistir: Vá em Preferências do Sistema → Segurança e Privacidade → Permitir execução

Dicas importantes:
Windows: Se aparecerem caracteres estranhos (ex: "�" ou "ção"), ignore - o script funciona normalmente. Para evitar, baixe o script localmente e execute.
Linux/macOS: Sempre use chmod +x antes de executar scripts baixados.
WSL (Windows): Siga as instruções do Linux, mas certifique-se de que o script está dentro do sistema de arquivos do Linux (não no /mnt/c/).

📜 Scripts prontos

Scripts verificados no Ubuntu 22.04/24.04, Debian 12, macOS 13+ e Windows 10/11.

⚙️ Comandos Java úteis

javac Main.java – compila arquivo Java
java Main – executa programa compilado
java -jar app.jar – executa arquivo JAR
jar -cf myapp.jar *.class – cria arquivo JAR

❓ Perguntas frequentes

Como alternar entre múltiplas versões do Java?

No Ubuntu/Debian use sudo update-alternatives --config java. No Windows use o JEnv ou configure manualmente o JAVA_HOME.

JDK vs JRE: qual a diferença?

JDK (Java Development Kit) inclui compilador e ferramentas para desenvolvimento. JRE (Java Runtime Environment) apenas executa programas. Para desenvolvimento, instale o JDK.

Java LTS: qual versão escolher?

Para projetos novos, use JDK 21 LTS (suporte até 2028). Para projetos legacy, JDK 11 ou 17 ainda são suportados.

Como melhorar a performance do Maven/Gradle?

Aumente a memória: export MAVEN_OPTS="-Xmx2048m" ou no gradle.properties: org.gradle.jvmargs=-Xmx2048m