Documentação / O IDE
Executar e depurar
Build com Maven, Gradle, Ant, npm ou Cargo, servidores de aplicação, depuradores JDWP, CDP e PL/SQL, hot swap e diagnóstico da JVM.
O Yuli compila, executa, testa e depura com as ferramentas do seu projeto. Parar um build, um log ou um teste encerra toda a árvore de processos.
Ferramentas de build
| Ferramenta | Projetos |
|---|---|
| Maven | Java com pom.xml |
| Gradle | Java e Kotlin com build.gradle |
| Ant | Java com build.xml |
| npm | JavaScript e TypeScript (detecta o gerenciador pelo lockfile) |
| Cargo | Rust |
O Yuli também entende projetos Eclipse sem migração.
Toolchains
O Yuli detecta o JDK, o Maven e o Gradle, oferece baixar os que faltarem e mostra o estado de cada um. Eles são configurados em Projeto → Build, execução e depuração…: variáveis de ambiente, opções da VM, perfis do Spring, SDK, Maven, Gradle e salvamento.
Painel Maven / Gradle / Ant
No painel inferior (Alt+7): filtro, perfis como chips, as fases do ciclo de vida em uma faixa e as demais tarefas em cartões por grupo.
Executar
| Ação | Atalho |
|---|---|
| Executar a última configuração | Shift+F10 |
| Depurar a última configuração | Shift+F9 |
| Parar a execução | Ctrl+F2 |
| Construir projeto | Ctrl+F9 |
| Executar todos os testes | Ctrl+Shift+F10 |
| Executar testes com cobertura | Ctrl+Shift+F11 |
Configurações de execução
Tipos: build, execução, testes, limpeza, cobertura, empacotamento, comando próprio e script do package.json. Elas têm histórico.
O console
No painel Execução, cada linha de stack trace do projeto, cada erro de JSP e cada Arquivo.java:42 leva ao arquivo e à linha. Filtre por nível, por pacote ou logger, ou por Meu código (só o que vem do projeto).
Servidores de aplicação
Em Projeto → Estrutura do projeto… → Servidores:
| Servidor | Observações |
|---|---|
| Tomcat | Recarrega o contexto ao atualizar classes. |
| Jetty | — |
| JBoss / WildFly | — |
| WebLogic | Domínio em modo de desenvolvimento. |
- Deploy exploded: JSP, HTML, CSS, JS e
.propertieschegam ao servidor ao salvar, sem refazer o deploy. Atualizar copia as classes recompiladas. - Cada servidor roda com a sua própria configuração dentro do projeto, com portas próprias.
- Inicia em execução ou em depuração; o depurador se conecta sozinho.
- Avisa se a aplicação usa
javaxem um servidorjakarta, ou o contrário. - As APIs do servidor (Servlet, JSP) entram no classpath do editor.
Depurar
| Linguagem | Depurador |
|---|---|
| Java e JVM | Cliente JDWP nativo |
| Node.js | Chrome DevTools Protocol (CDP) |
| Oracle PL/SQL | DBMS_DEBUG da Oracle |
Funções
- Árvore de variáveis e inspeção de objetos, com valores em linha sobre o código.
- Valores legíveis: um objeto aparece como
Owner{id=3, firstName="George", …}, uma data como2026-10-15, uma coleção com o seu tamanho. - Breakpoints condicionais, por contagem, logpoints e de exceção.
- Avaliador de expressões e alteração de valores em tempo real.
- Depuração de testes.
Passos
| Ação | Atalho |
|---|---|
| Continuar | F9 |
| Próxima linha (step over) | F8 |
| Entrar, só no seu código (step into) | F7 |
| Forçar entrada | Alt+Shift+F7 |
| Sair do método | Shift+F8 |
| Recarregar classes modificadas (hot swap) | Ctrl+Alt+F10 |
Hot swap
Recompila com a ferramenta do projeto e redefine as classes alteradas durante a sessão de depuração, sem reiniciar.
PL/SQL
Para depurar no Oracle, o usuário precisa do privilégio DEBUG CONNECT SESSION e os objetos devem estar compilados com COMPILE DEBUG.
Diagnóstico da JVM
O painel JVM (em “Mais”, no painel inferior) se conecta a qualquer processo Java local.
| Ferramenta | O que faz |
|---|---|
| Dump de threads | Agrupa por estado e destaca bloqueios e deadlocks. |
| Histograma de memória | Memória por classe. Ao repeti-lo, mostra o que cresceu (vazamentos). |
| Dump de heap | Salva um .hprof para o Eclipse MAT ou o VisualVM. |
| Perfilar CPU e memória | Com o Flight Recorder: métodos mais custosos, árvore de chamadas, alocações e GC. Se a JVM não oferecer suporte, faz o perfil por amostragem de threads. |
Abas: CPU, Memória, Alocações e Threads. O filtro Só código do projeto deixa apenas o que é seu, e os frames do projeto levam à linha exata.
Testes e cobertura
- O explorador de testes executa e relata os resultados no painel Testes.
- A cobertura aparece na margem do editor: coberto, não coberto e parcial.
- No Gradle, a cobertura é gerada sem mexer no build, inclusive em projetos multimódulo.
Com o agente
Peça “compile, teste e inicie” e o agente usa yuli_verify: build completo, todos os testes e uma inicialização com o perfil padrão. Se a aplicação não iniciar por causa de uma variável de ambiente ou de um perfil, o agente pode verificar isso e pedir a você apenas os valores secretos.