Мое приложение spring-mvc создает исключение BeanCreationException: Ошибка при создании bean ... 'requestMappingHandlerAdapter' .. 'на сервере glassfish 4.1 - PullRequest
0 голосов
/ 20 июня 2019

Я довольно новичок в 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)

Любая помощь будет принята с благодарностью.Заранее спасибо!:)

1 Ответ

0 голосов
/ 08 июля 2019

Нашли решение! Пришлось изменить версию зависимости ядра Джексона на 2.5.2 и TADA"ЭТО РАБОТАЛО!"

...