Konfiguracja Spring Boot

0

Cześć
Próbuję stworzyć projekt Spring Boot z użyciem IntelliJ. Użyłem "Spring Initializr" i przy próbie odpalenia aplikacji wystrzela wyjątek:

Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/core/env/ConfigurableEnvironment
	at com.demo.DemoApplication.main(DemoApplication.java:20)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
Caused by: java.lang.ClassNotFoundException: org.springframework.core.env.ConfigurableEnvironment
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 6 more

Kod aplikacji main:

@SpringBootApplication
@Controller
@EnableAutoConfiguration
public class DemoApplication {
	@RequestMapping("/")
	@ResponseBody
	public String mainPage() {
		return "Hello World!";
	}
	public static void main(String[] args) {
		SpringApplication.run(DemoApplication.class, args);
	}
}

I konfiguracja Maven:

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

	<name>Biblioteka</name>
	<description>biblioteka</description>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.6.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-cache</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.session</groupId>
			<artifactId>spring-session</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</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>

Gdzie leży problem?

0

Oj teraz zauważyłem, że wstawiłem plik konfiguracyjny ze starego projektu (bo myślałem, że może źle się coś utworzyło). Ale poza innymi groupID (com.demo) i artifactID (demo) no i nazwą :P wszystko jest takie samo

0

Z tego co mi wiadomo, to niepotrzebne w Spring Boocie jest dodawanie adnotacji @EnableAutoConfiguration, bo adnotacja @SpringBootApplication jest "zlepkiem" większej ilości adnotacji, w tym także wcześniej wspomnianej. W dodatku wydaje mi się, że ta klasa powinna mieć tylko metodę uruchomieniową, a Kontroler powinien być inną klasą. Może przez to jest jakiś problem?
Jak coś źle napisałem to pewnie zaraz ktoś mnie poprawi.

0
Aisekai napisał(a):

Z tego co mi wiadomo, to niepotrzebne w Spring Boocie jest dodawanie adnotacji @EnableAutoConfiguration, bo adnotacja @SpringBootApplication jest "zlepkiem" większej ilości adnotacji, w tym także wcześniej wspomnianej. W dodatku wydaje mi się, że ta klasa powinna mieć tylko metodę uruchomieniową, a Kontroler powinien być inną klasą. Może przez to jest jakiś problem?
Jak coś źle napisałem to pewnie zaraz ktoś mnie poprawi.

Z adnotacjami masz rację, ale nie ma przeciwwskazań dla połączenia adnotacji typu SBA i controller na 1 klasie

0
Aisekai napisał(a):

Z tego co mi wiadomo, to niepotrzebne w Spring Boocie jest dodawanie adnotacji @EnableAutoConfiguration, bo adnotacja @SpringBootApplication jest "zlepkiem" większej ilości adnotacji, w tym także wcześniej wspomnianej. W dodatku wydaje mi się, że ta klasa powinna mieć tylko metodę uruchomieniową, a Kontroler powinien być inną klasą. Może przez to jest jakiś problem?
Jak coś źle napisałem to pewnie zaraz ktoś mnie poprawi.

Sprawdziłem obie opcje, czyli usunąłem @EnableAutoConfiguration + usunąłem wszystko co związane z kontrolerem i nadal to samo :(

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