web-dev-qa-db-fra.com

Problèmes de printemps: erreur de création de beans et injection de dépendances câblées automatiquement a échoué

J'essaie donc d'apprendre le printemps et j'ai lu beaucoup de tutoriels et essayé de copier du code à partir d'un projet que j'ai dans une clé USB.

J'ai déjà configuré Tomcat et cela fonctionne, mais j'ai toujours des problèmes ici. Le fait est que je peux normalement accéder à l'action d'un contrôleur depuis mon navigateur sans problème, mais quand j'ai commencé à ajouter des annotations et ContextLoaderListener, cela m'a donné un statut 404 tout le temps. Je ne sais pas ce que j'ai fait, mais en modifiant certaines choses, mon navigateur essaie au moins d'atteindre à nouveau le contrôleur. Mais jette un énorme journal des erreurs que je partagerai à la fin de ce post.

Ce sont mes dépendances:

  • juin 4.12
  • spring-webmvc 4.1.6.RELEASE
  • contexte de printemps 4.1.6.RELEASE
  • spring-web 4.1.6.RELEASE
  • haricots de printemps 4.1.6.
  • spring-data-jpa 1.8.0.RELEASE
  • spring-jdbc 4.1.6.RELEASE
  • mysql-connector-Java 5.1.35
  • jstl 1.2
  • javax.servlet-api 3.1.0 (portée fournie)
  • javax.servlet.jsp-api 3.1.0 (portée fournie)
  • jackson-databind 2.5.4
  • jackson-core 2.5.4
  • jackson-core-asl 1.9.13
  • jackson-datatype-hibernate4 2.5.4
  • hibernate-annotations 3.5.6-Final
  • hibernate-commons-annotations 3.2.0.Final
  • hibernate-entitymanager 4.3.10.Final
  • jsondoc-core 1.1.15
  • jsondoc-springmvc 1.1.15
  • jsondoc-ui-webjar 1.1.15
  • commons-logging 1.2
  • commons-logging-api 1.1
  • commons-dbcp 1.4

Mes plugins de build sont:

  • maven-compiler-plugin 3.1 (source et cible 1.8)
  • maven-war-plugin 2.4

Mon site web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns="http://Java.Sun.com/xml/ns/javaee"
     xsi:schemaLocation="http://Java.Sun.com/xml/ns/javaee
                         http://Java.Sun.com/xml/ns/javaee/web-app_3_0.xsd"
     version="3.0">
<display-name>Spring Web MVC Application</display-name>

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        classpath*:WEB-INF/application-context.xml
        classpath*:WEB-INF/persistence-context.xml
    </param-value>
</context-param>

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<servlet>
    <servlet-name>mvc-dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>mvc-dispatcher</servlet-name>
    <url-pattern>/api/*</url-pattern>
</servlet-mapping>

Mon servlet mvc-dispatcher

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:mvc="http://www.springframework.org/schema/mvc" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans
                        http://www.springframework.org/schema/beans/spring-beans.xsd 
                        http://www.springframework.org/schema/context
                        http://www.springframework.org/schema/context/spring-context.xsd 
                        http://www.springframework.org/schema/mvc
                        http://www.springframework.org/schema/mvc/spring-mvc.xsd">

<context:component-scan base-package="com.ve" use-default-filters="false">
    <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
</context:component-scan>

<mvc:annotation-driven>
    <mvc:message-converters>
        <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
            <property name="objectMapper">
                <bean class="com.ve.main.HibernateAwareObjectMapper" />
            </property>
        </bean>
    </mvc:message-converters>
</mvc:annotation-driven>

<bean id="documentationController" class="org.jsondoc.springmvc.controller.JSONDocController">
    <constructor-arg name="version" value="1.0"/>
    <constructor-arg name="basePath" value="http://localhost:4848/spring2"/>
    <constructor-arg name="packages">
    <list>
    <value>com.ve</value>
    </list>
    </constructor-arg>
</bean>

Mon application-context.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
                    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
                    http://www.springframework.org/schema/context
                    http://www.springframework.org/schema/context/spring-context-3.0.xsd">

<context:component-scan base-package="com.ve" use-default-filters="false">
    <context:include-filter type="annotation" expression="org.springframework.stereotype.Repository" />
    <context:include-filter type="annotation" expression="org.springframework.stereotype.Service" />
</context:component-scan>

Mon persistence-context.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:tx="http://www.springframework.org/schema/tx" 
    xmlns:jpa="http://www.springframework.org/schema/data/jpa" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd 
        http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa.xsd">
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://localhost:3306/my_database" />
    <property name="username" value="my_actual_db_user" />
    <property name="password" value="my_actual_db_password" />
</bean>

<bean id="persistenceUnitManager" class="org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager">
    <property name="defaultDataSource" ref="dataSource" />
</bean>

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="persistenceUnitManager" ref="persistenceUnitManager" />
    <property name="persistenceUnitName" value="persistenceUnit" />
</bean>

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
    <property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>

<tx:annotation-driven transaction-manager="transactionManager" />

<jpa:repositories base-package="com.ve" entity-manager-factory-ref="entityManagerFactory" transaction-manager-ref="transactionManager" />

Et juste pour information je citerai aussi mon code de cours et ma structure de projet

StockController

package com.ve.common.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ve.common.service.StockService;

@Controller
@RequestMapping("/stock")
public class StockController {

    @Autowired
    private StockService stockService;

    public StockController(){}

    @RequestMapping(value="/list", method = RequestMethod.GET, produces={"application/json","application/xml"})
    @ResponseBody
    public String findAllStocks(){
        return "stocks";
    }
}

StockService

package com.ve.common.service;
import Java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ve.common.model.Stock;
import com.ve.common.repo.StockRepository;

@Service
public class StockService {

    @Autowired
    private StockRepository stockRepository;

    StockService(){}

    List<Stock> findStock(){
        return (List<Stock>) stockRepository.findAll();
    }
}

StockRepository

package com.ve.common.repo;
import Java.util.List;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
import com.ve.common.model.Stock;

@Repository
public interface StockRepository extends CrudRepository<Stock, Integer> {

    List<Stock> findByStockName(String stockName);

    Stock findByStockId(Integer stockId);
}

Mon modèle est une classe d'entité de base qui implémente Serializable (créée par les outils JPA). Maintenant, c'est la structure de mon projet, je suis désolé de ne pas avoir pu rendre l'image plus petite (je suis dans une ruine pour le moment). Project Structure

Et voici une citation de cette énorme erreur que j'obtiens dans mon navigateur lorsque j'accède à " http: // localhost: 4848/spring2/api/welcome/hi " ou " http:// localhost: 4848/spring2/api/stock/list "

HTTP Status 500 - Servlet.init () pour servlet mvc-dispatcher a levé une exception

type de rapport d'exception

message Servlet.init () pour servlet mvc-dispatcher a levé une exception

description Le serveur a rencontré une erreur interne qui l'a empêché de répondre à cette demande.

exception

javax.servlet.ServletException: Servlet.init () pour servlet mvc-dispatcher a levé l'exception org.Apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.Java:472) org.Apache.catalina.valves.ErrorReportValve.invoke (Error) Java: 99) org.Apache.catalina.valves.AccessLogValve.invoke (AccessLogValve.Java:936) org.Apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.Java:407) org.Apache.coyote.http11.AbstractHttp11Process process (AbstractHttp11Processor.Java:1004) org.Apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process (AbstractProtocol.Java:589) org.Apache.Tomcat.util.net.JIoEndpoint $ SocketProcessor.run (JIoEndpoint.Java:310) Java. util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.Java:1142) Java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.Java:617) Java.lang.Thread.run (Thread.Java:745)

cause première

org.springframework.beans.factory.BeanCreationException: erreur lors de la création du bean avec le nom 'stockController': l'injection des dépendances câblées automatiquement a échoué; l'exception imbriquée est org.springframework.beans.factory.BeanCreationException: Impossible d'autowire le champ: private com.ve.common.service.StockService com.ve.common.controller.StockController.stockService; Une exception imbriquée est org.springframework.beans.factory.NoSuchBeanDefinitionException: aucun bean qualifiant de type [com.ve.common.service.StockService] n'a été trouvé pour la dépendance: attendait au moins 1 bean qui se qualifie comme candidat de câblage automatique pour cette dépendance. Annotations de dépendance: {@ org.springframework.beans.factory.annotation.Autowired (requis = vrai)} org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues ​​(AutowiredAnnotationBeanPostProcessor.ame.processus.processus.processus. support.AbstractAutowireCapableBeanFactory.populateBean (AbstractAutowireCapableBeanFactory.Java:1210) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.Java:537) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.Java: 476) org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject (AbstractBeanFactory.Java:303) org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.Javaspring). .support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.Java:299) org.springframe work.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.Java:194) org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons (DefaultListableBeanFactory.Java:755) org.springframeworkApplicationContextFileApplicationFactory AbstractApplicationContext.Java:757) org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.Java:480) org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext.service.web.Service Framework366.RefreshWebApplicationContext. FrameworkServlet.createWebApplicationContext (FrameworkServlet.Java:629) org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext (FrameworkServlet.Java:677) org.springframework.web.servlet.FrameworkServlet.erviceAppsContextWorksApplicationCommerce.Service.AppsApplicationWebServicesApplicationCommerce.WebAppsApplicationContextWeb web.servlet.FrameworkServlet.initServletBean (FrameworkServlet.Java:489) org.springframework.web.s ervlet.HttpServletBean.init (HttpServletBean.Java:136) javax.servlet.GenericServlet.init (GenericServlet.Java:160) org.Apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.Java:472) valves.ErrorReportValve.invoke (ErrorReportValve.Java:99) org.Apache.catalina.valves.AccessLogValve.invoke (AccessLogValve.Java:936) org.Apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.Java:40. Apache.coyote.http11.AbstractHttp11Processor.process (AbstractHttp11Processor.Java:1004) org.Apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process (AbstractProtocol.Java:589) org.Apache.Tomcat.util.net.JIoEndpoint $ Socket JIoEndpoint.Java:310) Java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.Java:1142) Java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.Java:617) Java.lang.Thread.run. Java: 745)

cause première

org.springframework.beans.factory.BeanCreationException: Impossible d'autowire le champ: private com.ve.common.service.StockService com.ve.common.controller.StockController.stockService; Une exception imbriquée est org.springframework.beans.factory.NoSuchBeanDefinitionException: aucun bean qualifiant de type [com.ve.common.service.StockService] n'a été trouvé pour la dépendance: attendait au moins 1 bean qui se qualifie comme candidat de câblage automatique pour cette dépendance. Annotations de dépendance: {@ org.springframework.beans.factory.annotation.Autowired (requis = true)} org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor $ AutowiredFieldElementElement.inject (AutowiredAnnotationBeanPostProcessor.serve.bava:5b). factory.annotation.InjectionMetadata.inject (InjectionMetadata.Java:88) org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues ​​(AutowiredAnnotationBeanPostProcessor.Java:331) org.springFactory Java: 1210) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory. factory.support.AbstractBeanFactory $ 1.getObject (AbstractBeanFac tory.Java:303) org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.Java:230) org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.doGetBean (AbstractBeanFactory.doGetBean). beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.Java:194) org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons (DefaultListableBeanFactory.Java.Factory.ContextFactory ApplicationContextApplicationFontFactory ApplicationContextFactory ApplicationContextFactory ApplicationContextFactory ApplicationContextFree Application ApplicationContextFree Application ApplicationContextFree Application ApplicationContextFree Application ApplicationContextual ApplicationContextureApplicationContextFree Application ApplicationContextual ApplicationContextual ApplicationContextual ApplicationContextual ApplicationContextual ApplicationContextual ApplicationContextual ApplicationContextual ApplicationContextual ApplicationContextual ApplicationContextual ApplicationContextual ApplicationContextual ApplicationContextual ApplicationContextual ApplicationContextual ApplicationContextual ApplicationContextureAppConfig. Java: 757) org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.Java:480) org.springframework.web.servlet. createWebApplicationContext (FrameworkServlet.Java:629) org.springframework.web.servlet.FrameworkServlet.createWebApplicatio nContext (FrameworkServlet.Java:677) org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext (FrameworkServlet.Java:548) org.springframework.web.servlet.FrameworkServlet.initServletBean (FrameworkServlet.Java. servlet.HttpServletBean.init (HttpServletBean.Java:136) javax.servlet.GenericServlet.init (GenericServlet.Java:160) org.Apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.Java:pache2). valves.ErrorReportValve.invoke (ErrorReportValve.Java:99) org.Apache.catalina.valves.AccessLogValve.invoke (AccessLogValve.Java:936) org.Apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.Java:40. Apache.coyote.http11.AbstractHttp11Processor.process (AbstractHttp11Processor.Java:1004) org.Apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process (AbstractProtocol.Java:589) org.Apache.Tomcat.util.net.JIoEndpoint $ Socket JIoEndpoint.Java:310) Java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.Java:1142) Java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.Java:617) Java.lang.Thread.run (Thread.Java:745)

cause première

org.springframework.beans.factory.NoSuchBeanDefinitionException: aucun bean de qualification de type [com.ve.common.service.StockService] trouvé pour la dépendance: attend au moins 1 bean qui se qualifie comme candidat de câblage automatique pour cette dépendance. Annotations de dépendance: {@ org.springframework.beans.factory.annotation.Autowired (requis = vrai)} org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException (DefaultListableBeanFactory.Java:1301). support.efaultListableBeanFactory.doResolveDependency (DefaultListableBeanFactory.Java:1047) org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency (DefaultListableBeanFactory.AnavaFournirFournirAutomatiser Java: 533) org.springframework.beans.factory.annotation.InjectionMetadata.inject (InjectionMetadata.Java:88) org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor. factory.support.AbstractAutowireCapableBeanFactory.populateBean (AbstractAu towireCapableBeanFactory.Java:1210) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.Java:537) org.springframework.beanConstructionFabricantFabricantFabricantFabricant ( beans.factory.support.AbstractBeanFactory $ 1.getObject (AbstractBeanFactory.Java:303) org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.Java:230) org.springfamefactorywork.bean.bean.bean.bean.Bean (AbstractBeanFactory.Java:299) org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.Java:194) org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons (DefaultListableBeanFactory.processus). .context.support.AbstractApplicationContext.finishBeanFactoryInitialization (AbstractApplicationContext.Java:757) org. springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.Java:480) org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext (FrameworkServlet.Java:663) org.springframeletWebServiceWeb 629) org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext (FrameworkServlet.Java:677) org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext (FrameworkServlet.Java:548) org.springframeServerserviceFrameServers FrameworkServlet.Java:489) org.springframework.web.servlet.HttpServletBean.init (HttpServletBean.Java:136) javax.servlet.GenericServlet.init (GenericServlet.Java:160) org.Apache.catalina.authenticator.A. AuthenticatorBase.Java:472) org.Apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.Java:99) org.Apache.catalina.valves.AccessLogValve.invoke (AccessLogValve.Java:936) o rg.Apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.Java:407) org.Apache.coyote.http11.AbstractHttp11Processor.process (AbstractHttp11Processor.Java:1004) org.Apache.coyote.AbstractProtocol $ AbstractCprocess. Java: 589) org.Apache.Tomcat.util.net.JIoEndpoint $ SocketProcessor.run (JIoEndpoint.Java:310) Java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.Java:1142) Java.util.concurrent.ThreadPoolExecut Worker.run (ThreadPoolExecutor.Java:617) Java.lang.Thread.run (Thread.Java:745)

Je m'excuse pour le blocage excessif du code et le blockquoting, mais je pense que plus je fournirai d'informations, meilleure sera mon aide. Et je remercie d'avance quiconque peut me donner un coup de main.

5
arrigonfr

org.springframework.beans.factory. NoSuchBeanDefinitionException : aucun bean qualifiant de type [com.ve.common.service. StockService ]

L'erreur elle-même indique que SpringContainer ne trouve pas le bean avec le nom StockService. Donc soit vous créez un bean dans applicationContext.xml déposer ou déclarer le bean avec le @Bean annotation.

@ Autowired : Cette annotation vous permet de ne pas déclarer explicitement votre bean dans applicationContext.xml. Mais vous devez créer le bean de la classe que vous souhaitez câbler automatiquement en utilisant @Bean annotation et ajouter <context:conponent-scan> dans XML pour savoir que le bean est en cours de création à l'aide de @Bean annotation.

Déclaration du bean: Pour déclarer le bean, annoter la méthode avec @Bean annotation comme

@Configuration
public class AppConfig {
    @Bean
    public StockService stockService() {
        return new StockServiceImpl();
    }
}

Cela équivaut à déclarer un bean dans le applicationContext.xml

<beans>
    <bean name="stockService" class="com.ve.common.service.StockServiceImpl"/>
</beans>

[~ # ~] ou [~ # ~]

Si vous souhaitez utiliser @Autowired annotation dans une classe de bean doit alors d'abord devoir activer l'annotation au printemps en utilisant la configuration ci-dessous:

<context:annotation-config />

ou

<bean class ="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/>

Pour plus d'informations:

  1. câblage automatique des haricots de printemps
  2. @ Bean - Déclaration d'un bean

J'espère que cela vous aidera.

7
OO7

Le problème vient de votre web.xml. Veuillez modifier la configuration du contexte comme suit

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
       WEB-INF/application-context.xml
       WEB-INF/persistence-context.xml
    </param-value>
</context-param>

Vous avez utilisé classpath*:WEB-INF/application-context.xml. WEB-INF/chemin n'est pas dans le chemin de classe (seulement WEB-INF/classes est) le chargeur de contexte n'est pas en mesure de trouver les 2 fichiers de contexte.

2
ArunM