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.
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>
Bouton droit du projet -> Maven -> Mise à jour du projet
puis cochez "Forcer la mise à jour des instantanés/des versions"
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é.
Si l'étape ci-dessous ne fonctionne pas:
Remplacé mon Spring Boot 1.4.2.RELEASE à 1.5.10.RELEASE
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.
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
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.
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
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
Après cela a fonctionné.
Merci
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>
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>
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.