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 .properties chegam 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 javax em um servidor jakarta, 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 como 2026-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.