Solução de Problemas

Verifica a configuração e a forma do código de suporte em ordem quando não há arquivos gerados ou quando falta route/type.


Ordem de verificação

• Verifique se @Profile("local") está incluído no perfil de execução real.

• Verifique se a exceção de runner.start() não ocorreu no console local.

• Verifique se rootPath, routerPackage, entityPackage, handlerOutputDir estão nos locais corretos após a conversão de ponto/barra.

• Verifique se o diretório de origem gerado está incluído no conjunto de fontes do IDE e da ferramenta de build.

• Adicione o tipo de módulo comum externo ao classpath de decompilação de jar ou classe.

• Verifique se RouterFunction está na forma de referência de método fluente route/nest e handler.

Caminho com ponto e caminho com barra

A configuração normaliza . para / em várias entradas de caminho. Embora seja possível misturar strings de pacote e caminhos de sistema de arquivos, é necessário verificar a diferença entre a configuração que insere o caminho de saída completo como src.main.java.com.example... e a configuração que insere apenas o pacote com.example....

Reproduzir a configuração de caminhos

java
import com.byeolnaerim.watch.route.HandlerGenerator;

var handlerConfig = HandlerGenerator.Config.builder()
    .rootPath("src/main/java")
    .routerPackage("com.example.web.router")
    .handlerPackage("com.example.web.handler")
    .handlerOutputDir("src/main/java/com/example/web/handler")
    .build();

System.out.println(handlerConfig.routerDir());
// src/main/java/com/example/web/router/

Execute na raiz do projeto e verifique se o routerDir exibido contém o código do router. Incluir src/main/java em routerPackage duplica o caminho. Passe essa configuração para handlerConfig do runner e execute com o perfil local do Quick Start. handlerPackage é o nome do pacote Java; handlerOutputDir é o diretório real de saída.

bash
test -d src/main/java/com/example/web/router
find src/main/java/com/example/web/handler -name '*.java'
# Quick Start swaggerOutputFile:
test -s src/main/resources/static/swagger.json

Se os caminhos estiverem corretos, mas não houver saída, comece pela primeira exceção de runner.start(). Reproduza com uma rota mínima que use uma referência handler::method, verifique os arquivos gerados e então adicione as rotas existentes. A existência de swagger.json não basta: compare o caminho da requisição e o método HTTP em paths com o contrato real de resposta.

Recriação infinita

O escritor do Swagger só grava o arquivo quando o conteúdo muda. Se a geração repetida ocorrer, verifique se o arquivo de saída está incluído no watchDirectory e se o formatter ou outro watcher está alterando continuamente a fonte gerada.

Limitações da análise estática

© 2026 Byeolnaerim. Todos os direitos reservados.IntroduçãoPolítica de Privacidade