web-dev-qa-db-fra.com

Le type org.springframework.context.ConfigurableApplicationContext ne peut pas être résolu. Il est indirectement référencé à partir des fichiers .class requis

Je suis le didacticiel de spring.io pour créer une application pour le printemps à l’aide de bottes de printemps.

Je peux obtenir le programme fonctionne parfaitement sur un ordinateur . Lorsque j'essaie sur un autre ordinateur, le message d'erreur suivant s'affiche:

Le type org.springframework.context.ConfigurableApplicationContext ne peut pas être résolu. Il est indirectement référencé à partir des fichiers .class requis

J'ai essayé de supprimer et d'ajouter ma bibliothèque de systèmes JRE (JDK 1.8), de nettoyer et de mettre à jour le projet à l'aide de maven, et même de supprimer et de réimporter l'intégralité du projet. Toutes ces méthodes ont montré aucun succès.

Mon fichier pom est

<project xmlns="http://maven.Apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.Apache.org/POM/4.0.0 http://maven.Apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.4.1.RELEASE</version>
  </parent>

  <groupId>test.api</groupId>
  <artifactId>api.test</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>api.test Maven Webapp</name>
  <url>http://maven.Apache.org</url>

  <dependencies>
     <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-web</artifactId>
     </dependency>
     <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-actuator</artifactId>
     </dependency>
     <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-test</artifactId>
         <scope>test</scope>
     </dependency>   
  </dependencies>

   <properties>
       <Java.version>1.8</Java.version>
   </properties>

  <build>
    <finalName>api.test</finalName>
    <plugins>
      <plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>

</project>

La classe qui me donne l'erreur est la classe HelloWorldConfiguration.Java

package hello;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class HelloWorldConfiguration {

    public static void main(String[] args) {
        SpringApplication.run(HelloWorldConfiguration.class, args);
    }

}

Toute aide serait grandement appréciée. Je vous remercie.

11
user2719805

Votre cache Maven est corrompu sur le deuxième ordinateur. Le fichier JAR ne peut pas être ouvert, c'est pourquoi vous obtenez cette exception.

Vous pouvez résoudre ce problème en exécutant cette commande sur la deuxième machine de ce projet:

mvn dependency:purge-local-repository

Si cela ne fonctionne pas, essayez de supprimer votre dépôt local sur cette machine (~/.m2/repository/org/springframework) et exécutez à nouveau mvn package.

33
Stephane Nicoll

J'ai également fait face au même problème avant. Une corruption de dépendance peut s'être produite. Vous pouvez purger et resoudre les dépendances. Pour ça : 

  1. accédez à l'emplacement du projet où le fichier pom.xml est présent. 
  2. ouvrez une invite de commande à cet endroit et entrez la commande ci-dessous: 

    dépendance mvn: purge-local-repository -DreResolve = true

9
xpioneer

J'ai eu le même problème. J'ai résolu ce problème en supprimant le répertoire du référentiel local de Maven (.m2) sur votre ordinateur local. Cela a résolu le problème pour moi.

1
Deepak Soni

J'ai eu le même problème et j'ai suivi ces étapes pour résoudre ce problème:

1. Fermer Eclipse

2. Supprime tous les fichiers du dossier du référentiel .m2/repository

3. rouvrez Eclipse et mettez à jour votre projet Maven

0
Pankaj Sharma

ce conflit se produit car certaines de vos dépendances ont été corrompues. Suivez la procédure suivante: -> pour le supprimer, accédez à votre référentiel ouvert de dossiers .m2 et supprimez tous les fichiers de ce dossier. et maintenant, ouvrez votre projet dans debug do maven clean et après le nettoyage et le téléchargement complet, il vous suffit de mettre à jour votre projet Maven. et votre conflit aura été résoudre.

0
krishna Tyagi
  1. Découvrez la version de spring-context utilisée par votre projet:

(dans Eclipse: Explorateur de projets -> [votre projet] -> Dépendances Maven)

ou 

mvn dependency:tree

Répertorie toutes les dépendances pour votre projet

  1. Supprimez le dossier org/springframework/spring-context/5.0.9.RELEASE de votre référentiel maven .m2/repository. En supposant que 5.0.9.RELEASE est la version de printemps-context release.
0
Barun

J'ai aussi le même problème, que j'ai résolu en supprimant le dossier .m2/repository/org, puis plus tard maven a mis à jour le formulaire STS. 

0