web-dev-qa-db-fra.com

ne peut pas accéder au fichier de classe org.springframework.context.ConfigurableApplicationContext

Je suis nouveau dans Spring Boot, alors que j'essaie de créer mon premier projet Spring Boot (Maven) dans Intellij en utilisant Spring Initializer, j'obtiens cette erreur lorsque j'exécute mon projet après l'avoir créé:

ne peut pas accéder au fichier de classe org.springframework.context.ConfigurableApplicationContext pour org.springframework.context.ConfigurableApplicationContext introuvable

J'ai suivi de nombreux didacticiels, mais chaque fois que j'obtiens cette erreur, comment résoudre ce problème?

Mon fichier pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <groupId>com.boot</groupId>
    <artifactId>das-boot</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>First spring boot app</name>
    <description>project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.0.RELEASE</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <Java.version>1.8</Java.version>
    </properties>

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

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

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


</project>    
11
I.shL

J'ai pu le réparer en procédant comme suit:

  1. Fichier -> Invalider le cache et redémarrer
  2. Fichier -> Nouveau -> Projet à partir d'une source existante
  3. Sélectionnez le fichier pom.xml juste (pas le répertoire du projet entier) pour charger le projet. Le projet sera configuré automatiquement.
15
Bilal Ahmed Yaseen

J'utilise IntelliJ et gradle pour mon application Spring Boot et j'ai rencontré le même problème.

Je l'ai résolu en supprimant le fichier . Iml généré automatiquement sous classpath.

J'espère que cela aide toute personne qui vient après.

4
Dan Lee

Ce qui m'a fonctionné est exécuté

mvn package 

ou

mvn dependency:purge-local-repository    

et essayez d'invalider le cache/redémarrez l'idée intellij .. J'espère que cela aide

3
Suneet Srivastava

J'utilise IntelliJ Idea, si j'ai utilisé "Importer un projet", j'ai rencontré le même problème. Même après avoir utilisé File -> Invalidate Cache and Restart, le problème n'a pas été résolu.

J'ai fermé le projet, l'ai retiré de la liste.

Ensuite, utilisez "Ouvrir" au lieu du bouton "Importer le projet" pour importer dans le projet. Cela a bien fonctionné. J'espère que cela aide quelqu'un.

2
Amit
  1. Comme indiqué dans la première réponse, vous pouvez essayer d'invalider les caches et de redémarrer. J'ai essayé mais ça n'a pas marché pour moi. Je pense cependant que c'est un problème IntelliJ.
  2. Vérifiez vos dépendances maven s'il y a une erreur avec les packages.
  3. J'ai réimporté toutes mes dépendances maven et j'ai également vérifié la synchronisation des numéros de version dans le fichier pom.xml. Cela a pu résoudre mon propre problème.
2
David Enoma

Je voyais la même erreur dans une info-bulle lorsque j'ai survolé l'appel SpringApplication.run souligné en rouge dans la méthode principale (Intellij 2019.3 community ed), bien que la construction semblait aller de l'avant. Le rouge ondulé souligne cependant m'agace.

Aucune des solutions ci-dessus ne semblait aider.

Enfin, je suis allé dans la boîte de dialogue Structure du projet et j'ai remarqué deux choses que j'ai corrigées:

1) J'avais nommé le module principal à teamTest et je craignais que le suffixe "Test" ne déclenche certains comportements de configuration automatique, et

2) J'avais une structure de module quelque peu asymétrique (le module teamTest était enraciné dans la racine du projet, le module de test était enraciné dans le sous-répertoire src/test)

J'ai supprimé le module principal teamTest existant et j'en ai ajouté un nouveau appelé teamDemo enraciné dans le sous-répertoire src/main, en tant que frère du module de test existant. Ensuite, je suis allé dans le fichier pom.xml et j'ai renommé l'artefact de teamTest en teamDemo à quelques endroits, car j'ai vu un avertissement concernant le pom.xml qui pourrait éventuellement remplacer ce changement à l'avenir.

Pour faire bonne mesure, j'ai également: - fermé le projet - supprimé de l'historique - fermé Intellij - exécuté la dépendance mvn: purge-local-repository dans une fenêtre gitbash

avant d'exécuter à nouveau Intellij et d'ouvrir à nouveau le projet.

Les soulignements ondulés rouges avaient disparu.

Phew! J'espère que ceci aide quelqu'un d'autre...

0
Razzle