Поток исключений Java / Spring "основной" java.lang.NoClassDefFoundError: org / springframework / beans / factory / ListableBeanFactory

В настоящее время я самостоятельно изучаю новый язык: Java с Spring.

Мне удалось создать родительский элемент и зависимости для проекта в pom.xml

<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>tech.benjaminpradon</groupId>
  <artifactId>springboot</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>benjaminpradon</name>


 <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-parent -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.3.RELEASE</version>
</parent>


<dependencies>
    <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>


<!-- Version -->
<properties>
    <java.version>1.8</java.version>
</properties>
</project>

Я также создал программу запуска приложения Spring:

 package springboot;

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

@SpringBootApplication
public class LearningJava {

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

    }

}

Однако когда я пытаюсь запустить его, я получаю сообщение об ошибке:

Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/beans/factory/ListableBeanFactory
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at springboot.LearningJava.main(LearningJava.java:10)
Caused by: java.lang.ClassNotFoundException: org.springframework.beans.factory.ListableBeanFactory
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 13 more

Я думал, что мне нужно создать ResourcesController (RestController). Итак, я создал один:

package springboot.hello;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

@RequestMapping("/hello")
    public String Hi() {
        return "Hi";
    }
}

Но это ничего не меняет.

Поскольку я новичок, мне очень нужна помощь. Спасибо.

Попробуйте удалить папку .m2 и снова запустить или снова обновить зависимости.

mallikarjun 31.07.2018 15:04

Похоже, вам не хватает зависимостей. Можете ли вы попробовать с другой версией зависимости или попробовать stackoverflow.com/a/47977396/4100453. Добавьте информацию о сборке в файл pom

Alexander Falk 31.07.2018 15:16

Спасибо за ответ. Я только что попытался добавить сборку в файл pom, но все еще не работает. <build> <plugins> <plugin> <groupId> org.springframework.boot </groupId> <artifactId> spring-boot-maven-plugin </artifactId> </plugin> </plugins> </build>

textSolver34761 31.07.2018 15:24

Какие зависимости я мог упустить? @AlexanderFalk

textSolver34761 31.07.2018 15:28

@mallikarjun Спасибо - удалил папку .m2 и обновил проект. Это работает! Ваше здоровье

textSolver34761 31.07.2018 15:31

Я заметил эту проблему при обновлении своего проекта до spring-boot-2. Maven не может загрузить зависимости или загруженные зависимости повреждены. Поэтому я удалил старые весенние версии из .m2 и построил проект, который загружал последние jar-файлы. Проблема в том, что несколько проектов, зависимости которых отличаются от версии, я не могу их получить. Поэтому я настроил отдельный путь maven для проектов spring-boot2 в моей локальной папке.

mallikarjun 31.07.2018 15:35
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
6
1 263
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Как упомянул @mallikarjun, я должен

delete .m2 folder and re-run again or updated dependencies again

Зачем? Это ответ.

textSolver34761 16.12.2020 23:17

Ох, прости. На странице просмотра вы можете увидеть только один ответ. Для меня это прозвучало как ответ на ответ.

M123 17.12.2020 07:40

Другие вопросы по теме