Problem z importami w aplikacji Spring Boot

0

Witam, zaznaczam, że dopiero zaczynam przygodę ze Spring Boot. Przy uruchamianiu projektu(niżej kod):

package com.example.springbootsuperheroes.superheroes;

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

@SpringBootApplication
public class SuperheroesApplication {

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

Wyskakują mi takie błędy:

.\superheroes\src\main\java\com\example\springbootsuperheroes\superheroes\SuperheroesApplication.java:3: error: package org.springframework.boot does not exist
import org.springframework.boot.SpringApplication;
                               ^
.\superheroes\src\main\java\com\example\springbootsuperheroes\superheroes\SuperheroesApplication.java:4: error: package org.springframework.boot.autoconfigure does not exist
import org.springframework.boot.autoconfigure.SpringBootApplication;
                                             ^
.\superheroes\src\main\java\com\example\springbootsuperheroes\superheroes\SuperheroesApplication.java:6: error: cannot find symbol
@SpringBootApplication
 ^
  symbol: class SpringBootApplication
.\superheroes\src\main\java\com\example\springbootsuperheroes\superheroes\SuperheroesApplication.java:10: error: cannot find symbol
                SpringApplication.run(SuperheroesApplication.class, args);
                ^
  symbol:   variable SpringApplication
  location: class SuperheroesApplication
4 errors

Cały projekt uruchamiam krok po kroku z książki i to co mam, wygląda, że powinno działać. Przeszukałem całego Google'a na ten temat i żadna porada nie zadziałała. Jedyne czego się dowiedziałem, to że przykładowo dla pierwszego błędu w lokalizacji: C:\Users\Użytkownik.m2\repository\org\springframework\boot nie ma nic podobnego do tego pierwszego importu, tak samo analogicznie dla drugiego błędu. Raczej tam powinno coś być i dziwię się, że nie ma. Usuwanie całej zwartości ścieżki w tych lokalizacjach i przeładowanie projektu nie naprawiło sytuacji. Proszę pomóżcie mi z tymi błędami, bo już nie wiem jak sobie z tym poradzić.

1

Pewnie masz źle zaimportowanego spring-boot w pom.xml
Pokaż pom.xml to może coś się da pomóc.

Możesz też skorzystać z https://start.spring.io/ do wygenerowania struktury projektu.

0
opiszon napisał(a):

Pewnie masz źle zaimportowanego spring-boot w pom.xml
Pokaż pom.xml to może coś się da pomóc.

Możesz też skorzystać z https://start.spring.io/ do wygenerowania struktury projektu.

Oto plik 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 https://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.6.2</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.example.springbootsuperheroes</groupId>
	<artifactId>superheroes</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>superheroes</name>
	<description>Demo project for Spring Boot</description>
	<properties>
		<java.version>17</java.version>
	</properties>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>
		</dependency>
		<dependency>
			<groupId>org.postgresql</groupId>
			<artifactId>postgresql</artifactId>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-redis</artifactId>
		</dependency>
	       <dependency>
			<groupId>org.springframework.data</groupId>
			<artifactId>spring-data-redis</artifactId>
			<version>2.4.5</version>
		</dependency>
		<dependency>
			<groupId>redis.clients</groupId>
			<artifactId>jedis</artifactId>
			<version>3.5.1</version>
			<type>jar</type>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-validation</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
			<scope>runtime</scope>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>com.h2database</groupId>
			<artifactId>h2</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<!--Dto mapper-->
		<dependency>
			<groupId>org.modelmapper</groupId>
			<artifactId>modelmapper</artifactId>
			<version>2.3.9</version>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<excludes>
						<exclude>
							<groupId>org.projectlombok</groupId>
							<artifactId>lombok</artifactId>
						</exclude>
					</excludes>
				</configuration>
			</plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>16</source>
                    <target>16</target>
                </configuration>
            </plugin>
        </plugins>
	</build>

</project>
1

mvn clean compile daje ci błędy czy budowanie z ide?

1

Skoro używasz spring boot maven plugina to
mvn clean install mvn spring-boot:run
Powinno zadziałać

Poczytaj sobie o maven/gradle/build automation tools

A do uruchamiania z poziomu intellij masz przycisk "Run" (definiujesz run configuration w projekcie albo powinien być obecny w twojej klasie uruchomieniowej)

0

@kixe52 wykupiłem książkę online. Możesz mieć rację - przekonam się jak mi będzie szło, na razie średnio.

1

Gotowy starter ze strony od @opiszon wystarczy Ci do odpalenia prostego hello worlda. Dopiero potem warto zajrzeć do książki - jeśli jest aktualna.

1 użytkowników online, w tym zalogowanych: 0, gości: 1