Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

419
Visualizações
IllegalStateException después de actualizar la aplicación web a Spring Boot 2.4

Mi aplicación web ya no se inicia después de actualizar a Spring Boot 2.4. Está arrojando el siguiente error:

 Unable to locate the default servlet for serving static content. Please set the 'defaultServletName' property explicitly.

Estoy usando el siguiente código para cambiar la ruta de contexto y mi investigación me indica que ese es el "culpable" (cambiar la ruta de contexto):

 @Bean public ServletWebServerFactory servletContainer() { String tomcatPort = environment.getProperty("tomcatPort"); TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory(); tomcat.setPort(tomcatPort != null ? Integer.parseInt(tomcatPort) : 8080); tomcat.setContextPath("/Carbon"); tomcat.setBaseDirectory(new File(System.getenv("MDHIS3_HOME"))); setTomcatProtocol(tomcat); return tomcat; }

Tengo el siguiente método y puedo ver que se puede usar para pasar un DefaultServletName pero no tengo idea de qué valor se supone que debo pasar:

 @Override public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { configurer.enable(); }

Esto funcionó perfectamente en Spring Boot 2.3.4. ¿Qué valor paso allí? ¿Es el nombre del controlador principal?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Como se describe en las notas de la versión de Spring Boot 2.4 , el DefaultServlet proporcionado por el contenedor de Servlet incrustado ya no está registrado de forma predeterminada. Si su aplicación lo necesita, como parece necesitar el suyo, puede habilitarlo configurando server.servlet.register-default-servlet en true .

Alternativamente, puede configurarlo programáticamente usando un bean WebServerFactoryCustomizer :

 @Bean WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> enableDefaultServlet() { return (factory) -> factory.setRegisterDefaultServlet(true); }

Tenga en cuenta que la configuración debe aplicarse a través de un personalizador para que la configuración predeterminada basada en propiedades no la sobrescriba.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda