Я хочу развернуть WAR-пакет spring-mvc webapp на tomcat. Процесс развертывания завершается неудачно со следующей ошибкой: 'java.lang.IllegalStateException: No ServletContext установлен'
Я думаю, что-то не так с моей конфигурацией: (* 1003 *
Инициализатор моего веб-приложения:
package com.jbtits.spring.mvc.webac;
import org.springframework.web.WebApplicationInitializer;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.servlet.DispatcherServlet;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRegistration;
public class AppInitializer implements WebApplicationInitializer {
public void onStartup(ServletContext servletContext) throws ServletException {
AnnotationConfigWebApplicationContext applicationContext = new AnnotationConfigWebApplicationContext();
applicationContext.register(AppConfig.class);
applicationContext.refresh();
DispatcherServlet servlet = new DispatcherServlet(applicationContext);
ServletRegistration.Dynamic registration = servletContext.addServlet("webac", servlet);
registration.setLoadOnStartup(1);
registration.addMapping("/");
}
}
Конфигурация моего веб-приложения:
package com.jbtits.spring.mvc.webac;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
@Configuration
@EnableWebMvc
@ComponentScan("com.jbtits.spring.mvc.webac")
public class AppConfig extends WebMvcConfigurationSupport {
}
Вот только два компонента.
Выход сбоя Tomcat:
02-Oct-2019 18: 02: 52.971 ПРЕДУПРЕЖДЕНИЕ [http-nio-8081-exec-84] org.springframework.context.support.AbstractApplicationContext.refresh Исключительная ситуация, возникшая при инициализации контекста - отмена попытки обновления: org.springframework.beans.factory.BeanCreationException: ошибка создания bean-компонентас именем 'resourceHandlerMapping', определенным в org.springframework.web.servlet.config.annotation.DelegatingWebMvcConfiguration: сбой создания экземпляра компонента с помощью метода фабрики; вложенное исключение - org.springframework.beans.BeanInstantiationException: не удалось создать экземпляр [org.springframework.web.servlet.HandlerMapping]: фабричный метод 'resourceHandlerMapping' вызвал исключение;вложенное исключение - java.lang.IllegalStateException: не задано ServletContext