webentwicklung-frage-antwort-db.com.de

Die Spring Boot-Anwendung kann das Paket org.springframework.boot nicht auflösen

Ich habe ein Spring Boot-Projekt mit dem Spring Initializer erstellt, ich habe mehrmals versucht, ein neues Projekt zu erstellen oder mit den Abhängigkeiten zu spielen, alles scheint vorhanden zu sein.

Ich verwende STS (Spring Tool Suite), und es werden Fehler beim Importieren aus dem org.springframework.boot-Paket angezeigt. Beim Ausführen der Anwendung wird eine Ausnahme ausgelöst:

Ausnahme im Thread "main" Java.lang.Error: Nicht aufgelöste Kompilierung Problem: SpringApplication kann nicht aufgelöst werden.

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>

Ich verwende Java 1.8 mit STS.

17
Orel Bitton

Ändern Sie die Version des übergeordneten Federstiefels

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

Rechte Taste im Projekt -> Maven -> Projekt aktualisieren 

aktivieren Sie dann "Aktualisieren von Snapshots/Releases erzwingen"

13
victommasi

Versuchen Sie, aus Ihrer pom.xml-Quelle Einträge aus dem Frühjahr zu entfernen, die standardmäßig aus dem maven-Repository heruntergeladen werden. Ich habe es mit 1.5.6.RELEASE ausprobiert und sehr gut gearbeitet.

4
gonella

Wenn der folgende Schritt nicht funktioniert:

Mein Spring Boot 1.4.2.RELEASE wurde in 1.5.10.RELEASE ersetzt

  • Klicken Sie mit der rechten Maustaste auf Projekt und -> Maven-> Ressourcen herunterladen
  • rechtsklick auf Projekt -> Maven-> Projekt aktualisieren

Der Grund für diesen Fehler kann sein, dass mehrere Versionen derselben Version in den lokalen Repository-Ordner von Maven heruntergeladen werden.

Befolgen Sie die nachstehenden Schritte, um alle vorhandenen Repository-Gläser zu löschen und alle Dateien von Anfang an basierend auf den in Ihrer POM.xml definierten Abhängigkeiten herunterzuladen.

  1. Gehe zum Erstellungspfad. Überprüfen Sie das Maven-Repository im Abschnitt mit hinzugefügten Bibliotheken.
  2. Wählen Sie ein beliebiges jar und einen mousehover aus. Es wird der Ort des lokalen Repositorys angezeigt
  3. Gehe zum Ort. und entfernen Sie den Repository-Ordner.
  4. Klicken Sie nun mit der rechten Maustaste auf Ihr Projekt. Do Maven -> maven update. 
    Dies löst Ihr Abhängigkeitsproblem. Maven wird versuchen, alle Elemente erneut aus dem Repository herunterzuladen und das Projekt zu erstellen.
4
Sumit Sahoo

In meinem Projekt wurde die Abhängigkeit von Spring-Boot-Starter-Parent von 2.0.0.release auf 2.0.5.relese .. aktualisiert. Dadurch wurde das Problem gelöst

3
Gaurav sharan

Ich hatte das gleiche Problem, als ich versuchte, mit einer einfachen Spring Boot App zu arbeiten. Ich habe versucht, die neueste Springboot-Version von der offiziellen Springboot-Site zu verwenden.

Wie heute ist die neueste Version 1.5.4.RELEASE. Ich bekomme jedoch immer wieder Kompilierungsprobleme bei meinem Eclipse IDE, unabhängig von mehreren Bereinigungen des Projekts. Ich habe die Version des Springboots auf 1.5.3.RELEASE abgesenkt und einfach gearbeitet !! Einige meiner früheren Projekte verwendeten die alte Version, die mich dazu brachte, diese Option auszuprobieren.

1

Ich habe das gleiche Problem während meiner ersten Spring-Boot-Anwendung festgestellt.  

Im Tutorial konnte ich folgende Abhängigkeit sehen, um die Beispielanwendung zu starten 

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

Ich habe dasselbe getan, mein Spring STS erkennt alle Klassen an, aber wenn ich meine Hauptklasse mit @SpringBootApplication annotiere, wird diese Klasse nicht erkannt, obwohl ich feststellen konnte, dass jar im Klassenpfad verfügbar war. 

Ich habe Probleme, Probleme zu lösen  

  • Mein Spring Boot 1.4.2.RELEASE wurde in 1.5.3.RELEASE ersetzt 
  • Klicken Sie mit der rechten Maustaste auf Projekt und -> Maven-> Ressourcen herunterladen
  • rechtsklick auf Projekt -> Maven-> Projekt aktualisieren

Danach hat es geklappt.

Vielen Dank 

1
Kushwaha

Wenn Sie Ihre Anwendung als jar ausführen, sollte Ihre Manifest.MF-Datei wissen, welche Klasse die Hauptmethode hat.

Um diese Informationen hinzuzufügen, wenn SpringBoot Ihren Code kompiliert, fügen Sie der Pom-Datei die Eigenschaft start-class hinzu.

Z.B.:

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

Meins funktionierte durch Hinzufügen

<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-autoconfigure -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-autoconfigure</artifactId>
    <version>2.1.3.RELEASE</version>
</dependency>

anstatt andere Hauptabhängigkeiten direkt zu verwenden, habe ich keine Ahnung warum.

0
demonoga

Diese Antwort ist für die meisten Leser möglicherweise ohne Thema. In meinem Fall wurde die Abhängigkeit nicht aktualisiert und "mvn clean" funktionierte nicht, da mein WLAN-Netzwerk im Büro stark gesichert ist und eine "Zeitüberschreitung der Verbindung" auftritt. (Der gleiche Respekt, den Github drückt und zieht, funktioniert nicht) Ich bin gerade dazu übergegangen, mit meinem Telefon zu teathering, und es funktioniert. Dumm, für die meisten kein Thema, aber es kann in bestimmten Fällen hilfreich sein.

0
Charles Julien

Es ist nicht notwendig, den relativen Pfad zu entfernen. Ändern Sie einfach die übergeordnete Version von springframework boot. Die folgende Version 2.1.2 funktioniert erfolgreich.

<?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

Möglicherweise liegt ein Problem mit den JAR-Dateien im lokalen Maven-Repository vor. Löschen Sie den Ordner .m2/repository, und klicken Sie auf Maven -> Update Project ..., um zu veranlassen, dass Maven die Abhängigkeiten erneut lädt. Ich habe es versucht und es hat für mich funktioniert.

0

Versuchen Sie dies, es könnte auch für Sie arbeiten.

  1. Öffnen Sie die Eingabeaufforderung und wechseln Sie in den Projektordner.
  2. Projekt erstellen (Für Maven Run mvn clean install)
  3. Nach erfolgreicher Erstellung
    • Öffnen Sie Ihr Projekt auf einem beliebigen IDE (intellij/Eclipse).
    • Starten Sie IDE neu, falls es bereits geöffnet ist.

Dies funktionierte für mich sowohl auf v1.5 als auch auf v2.1

0
hbamithkumara

Lösung ist, die Version von Spring in der Datei pom.xml zu ändern

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.9.RELEASE</version>
</parent>
0
Sang9xpro