Я довольно новичок в Spring и занимаюсь разработкой веб-приложения на основе Spring MVC | Hibernate | C3P0, использующего IDE.NetBeans NetBeans, поставляемого с сервером glassfish 4.1.1, и мое приложение успешно развернуто и прекрасно работает на сервере по умолчанию.Затем я узнал, что эта версия glassfish содержит ошибки и создает проблемы при настройке пулов соединений JNDI.Поэтому я установил сервер glassfish 4.1 и добавил его в свою IDE.Теперь, когда я пытаюсь развернуть мое приложение, оно выдает «BeanCreationException».
Я думал, что проблема была в некоторой ошибке конфигурации, так как я использую несколько классов конфигурации.Поэтому я уже пытался добавить фильтр componentScan для исключения моих классов WebConfig в моем классе RootConfig.
WebConfig.java
@Configuration
@ComponentScan(basePackages="com.tgear.jdeproject")
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter{
@Bean
public ViewResolver getViewResolver(){
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
resolver.setExposeContextBeansAsAttributes(true);
return resolver;
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry
.addResourceHandler("/assets/**")
.addResourceLocations("/resources/");
}
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
RootConfig.java
@Configuration
@ComponentScan(basePackages = {"com.tgear.jdeproject"},
excludeFilters = {
@ComponentScan.Filter(type = FilterType.ANNOTATION, value =
EnableWebMvc.class)
})
public class RootConfig {
}
AppInitializer.java
import org.springframework.web.servlet.support.
AbstractAnnotationConfigDispatcherServletInitializer;
public class AppInitializer extends
AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[] { RootConfig.class };
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[] { WebConfig.class };
}
@Override
protected String[] getServletMappings() {
return new String[] { "/","" };
}
}
Ниже приведено сообщение об ошибке:
org.springframework.beans.factory.BeanCreationException: Error creating
bean with name 'requestMappingHandlerAdapter' defined in org.springframework.web.servlet.config.annotation.DelegatingWebMvcConfiguration: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter]: Factory method 'requestMappingHandlerAdapter' threw exception; nested exception is java.lang.NoClassDefFoundError: com.fasterxml.jackson.core.util.DefaultIndenter
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:599)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1173)
Любая помощь будет принята с благодарностью.Заранее спасибо!:)