web-dev-qa-db-fra.com

L'application Spring Boot ne peut pas résoudre le package org.springframework.boot

J'ai mis en place un projet de démarrage de printemps à l'aide de Spring Initializer , j'ai essayé plusieurs fois de créer un nouveau projet ou de jouer avec les dépendances, tout semble en place.

J'utilise STS (Spring Tool Suite) et il affiche des erreurs concernant les importations à partir du packageorg.springframework.boot. L'exécution de l'application lève une exception:

Exception dans le fil "principal" Java.lang.Error: compilation non résolue problème: SpringApplication ne peut pas être résolu.

com.example.DemoApplication:

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

@SpringBootApplication
public class DemoApplication {

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

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.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>demo</name>
    <description>Demo project for Spring Boot</description>

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

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <Java.version>1.8</Java.version>
        <start-class>com.example.DemoApplication</start-class>
    </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>

J'utilise Java 1.8 avec STS.

17
Orel Bitton

changer la version du parent de démarrage de printemps

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.4.2.RELEASE</version>
 </parent>
18
Nithin

Bouton droit du projet -> Maven -> Mise à jour du projet 

puis cochez "Forcer la mise à jour des instantanés/des versions"

13
victommasi

Dans votre fichier pom.xml, essayez de supprimer les entrées du référentiel Spring. Par défaut, il sera téléchargé depuis le référentiel Maven. J'ai essayé avec 1.5.6.LELEASE et j'ai très bien travaillé.

4
gonella

Si l'étape ci-dessous ne fonctionne pas:

Remplacé mon Spring Boot 1.4.2.RELEASE à 1.5.10.RELEASE

  • Faites un clic droit sur le projet et -> Maven-> Ressources de téléchargement
  • clic droit sur projet -> Maven-> Mettre à jour le projet

La raison de cette erreur est peut-être que plusieurs versions de la même chose sont téléchargées dans votre dossier de référentiel local maven.

Suivez donc les étapes ci-dessous pour effacer tous les fichiers jar du référentiel existants et les télécharger depuis le début en fonction des dépendances définies dans votre fichier POM.xml.

  1. Aller à construire le chemin. Vérifiez le référentiel Maven dans la section des bibliothèques ajoutées.
  2. Choisissez n'importe quel fichier jar et mousehover .. il affichera l'emplacement du référentiel local . Généralement, il s'agit de: utilisateur/.m2/repository/....
  3. Allez à l'emplacement. et supprimez le dossier du référentiel.
  4. Maintenant, faites un clic droit sur votre projet .. Maven -> maven update. 
    Cela résoudra le problème de votre dépendance. Maven essaiera de télécharger à nouveau tous les éléments du référentiel et de construire le projet.
4
Sumit Sahoo

Dans mon projet, mise à jour la dépendance de spring-boot-starter-parent de 2.0.0.release à 2.0.5.relese . Cette opération a résolu le problème. L'importation org.springframework.boot.SpringApplication ne peut pas être résolu

3
Gaurav sharan

J'avais le même problème lorsque j'essayais de travailler avec une application de démarrage de base pour le printemps. J'ai essayé d'utiliser la dernière version de spring-boot du site officiel spring-boot .

La version la plus récente est 1.5.4.RELEASE. Mais je continue à avoir des problèmes de compilation sur mon Eclipse IDE indépendamment des multiples nettoyages effectués sur le projet. J'ai abaissé la version de spring-boot à 1.5.3.RELEASE et c'est simplement travaillé !! Certains de mes projets précédents utilisaient l'ancienne version, ce qui m'a amené à essayer cette option.

1
Chaithu Narayana

J'ai rencontré le même problème lors de ma première application de démarrage Spring.  

Dans le tutoriel, je pouvais voir la dépendance suivante pour démarrer l'exemple d'application 

  • Spring Boot 1.4.2.LELEASE 
  • Maven 3 
  • Java 8

J'ai fait de même, ma Spring STS reconnaît toutes les classes, mais lorsque j'annote ma classe principale avec @SpringBootApplication, elle ne reconnaît pas cette classe alors que je pouvais voir que jar était disponible dans le chemin de classe. 

Je dois suivre pour résoudre les problèmes  

  • Remplacé mon Spring Boot 1.4.2.RELEASE à 1.5.3.RELEASE 
  • Faites un clic droit sur le projet et -> Maven-> Ressources de téléchargement
  • clic droit sur projet -> Maven-> Mettre à jour le projet

Après cela a fonctionné.

Merci 

1
Kushwaha

Lorsque vous exécutez votre application en tant que jar, votre fichier Manifest.MF doit savoir quelle classe a la méthode principale.

Pour ajouter ces informations lorsque SpringBoot compile votre code, ajoutez la propriété start-class à votre fichier pom.

Par exemple.:

<properties>
        <start-class>com.example.DemoApplication</start-class>
</properties>
0
Bruno

Il n'est pas nécessaire de supprimer le chemin relatif. Il suffit de changer la version parente du démarrage de springframework. La version 2.1.2 suivante fonctionne avec succès.

<?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>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.appsdeveloperblog.app.ws</groupId>
    <artifactId>mobile-app-ws</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>mobile-app-ws</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <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>
        <dependency>
            <groupId>com.appsdeveloperblog.app.ws</groupId>
            <artifactId>mobile-app-ws</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
    </dependencies>

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

</project>
0
Yagmur SAHIN

Peut-être y at-il un problème avec les fichiers JAR dans le référentiel Maven local. Essayez de supprimer le dossier .m2/repository et cliquez sur Maven -> Update Project ... pour que Maven télécharge à nouveau les dépendances. J'ai essayé et cela a fonctionné pour moi.

0
Swapnil Taletiya