Como compilar Java e JavaFX usando script .bat
💡 Por que usar arquivos .bat?
Eles automatizam a compilação e execução. Com um atalho no Notepad++, você testa interfaces JavaFX instantaneamente sem precisar configurar variáveis de sistema complexas.
1 Java Standard (Console)
Script Global
Salve em C:\arquivos\java_run.bat para qualquer arquivo Java simples.
C:\arquivos\java_run.bat
@echo off
cd /d "%~1"
javac -encoding UTF-8 "%~2.java"
if %errorlevel% equ 0 (
java "%~2"
)
pause
2 JavaFX (Interface Gráfica)
A. Script Global FX (JDKFX-17)
Salve em C:\arquivos\javafx_run.bat. Este script usa o caminho direto da sua biblioteca.
C:\arquivos\javafx_run.bat
@echo off
cd /d "%~1"
set LIB_PATH="C:\Program Files\Java\JDKFX-17\lib"
set MODULES=javafx.controls,javafx.fxml,javafx.swing,javafx.media
javac -encoding UTF-8 --module-path %LIB_PATH% --add-modules %MODULES% "%~2.java"
if %errorlevel% equ 0 (
java --module-path %LIB_PATH% --add-modules %MODULES% "%~2"
)
pause
B. Execução Local Direta
Comando otimizado para a pasta do projeto:
run_fx.bat
@echo off
javac -encoding UTF-8 --module-path "C:\Program Files\Java\JDKFX-17\lib" --add-modules javafx.controls,javafx.fxml,javafx.swing,javafx.media Main.java
if %errorlevel% equ 0 (
java --module-path "C:\Program Files\Java\JDKFX-17\lib" --add-modules javafx.controls,javafx.fxml,javafx.swing,javafx.media Main
)
pause
3 Configurar Notepad++ (F5)
No Notepad++, aperte F5, cole o comando correspondente e clique em Salvar:
| Tipo | Comando |
|---|---|
| Java Console | cmd /c "C:\arquivos\java_run.bat" "$(CURRENT_DIRECTORY)" "$(NAME_PART)" |
| JavaFX (JDK17) | cmd /c "C:\arquivos\javafx_run.bat" "$(CURRENT_DIRECTORY)" "$(NAME_PART)" |
4 Dicas Finais
- Sem Variáveis de Ambiente: O uso do JavaFX está configurado via caminho absoluto (C:\Program Files\Java\JDKFX-17\lib). Isso evita erros se você tiver múltiplas versões do Java instaladas no PC.
- Módulos Inclusos: Além do básico, adicionamos javafx.swing (para integração com AWT/Swing) e javafx.media (para áudio e vídeo).
- Organização: Certifique-se de que sua classe principal se chama Main ou use a variável $(NAME_PART) no Notepad++ para rodar qualquer arquivo aberto.












