it-swarm.com.ru

Тип org.springframework.context.ConfigurableApplicationContext не может быть разрешен. На него косвенно ссылаются необходимые файлы .class

Я следую учебному пособию по адресу spring.io , чтобы создать приложение Spring с использованием Spring Boot.

Я могу заставить программу отлично работать на одном компьютере. Когда я пытаюсь работать на другом компьютере, я получаю следующую ошибку

Тип org.springframework.context.ConfigurableApplicationContext не может быть разрешен. На него косвенно ссылаются необходимые файлы .class

Я попытался удалить и добавить свою Системную библиотеку JRE (JDK 1.8), а также очистить и обновить проект с помощью maven, и даже удалить и повторно импортировать весь проект. Все эти методы не принесли успеха.

Мой файл пом

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.4.1.RELEASE</version>
  </parent>

  <groupId>test.api</groupId>
  <artifactId>api.test</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>api.test Maven Webapp</name>
  <url>http://maven.Apache.org</url>

  <dependencies>
     <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-web</artifactId>
     </dependency>
     <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-actuator</artifactId>
     </dependency>
     <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-test</artifactId>
         <scope>test</scope>
     </dependency>   
  </dependencies>

   <properties>
       <Java.version>1.8</Java.version>
   </properties>

  <build>
    <finalName>api.test</finalName>
    <plugins>
      <plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>

</project>

Класс, который дает мне ошибку - это класс HelloWorldConfiguration.Java

package hello;

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

@SpringBootApplication
public class HelloWorldConfiguration {

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

}

Любая помощь будет принята с благодарностью. Спасибо.

11
user2719805

Ваш кэш Maven поврежден на второй машине. JAR не может быть открыт, поэтому вы получаете это исключение.

Вы можете исправить это, выполнив эту команду на втором компьютере для этого проекта:

mvn dependency:purge-local-repository

Если это не сработает, попробуйте удалить локальное хранилище на этом компьютере (~/.m2/repository/org/springframework) и снова запустить mvn package.

33
Stephane Nicoll

Я тоже сталкивался с той же проблемой раньше. Возможно, произошло некоторое искажение зависимости. Вы можете очистить и повторно разрешить зависимости. Для этого : 

  1. перейдите в местоположение проекта, где присутствует pom.xml. 
  2. откройте командную строку и введите команду ниже: 

    зависимость mvn: purge-local-repository -DreResolve = true

9
xpioneer

У меня такая же проблема. Я решил это, удалив локальный каталог репозитория Maven (.m2) на вашем локальном компьютере. Это решило проблему для меня.

1
Deepak Soni

У меня была та же проблема, и я следовал за этими шагами, чтобы исправить это:

1. Закрыть Eclipse

2. Удалить все файлы в папке репозитория .m2/repository

3. заново откройте Eclipse и обновите ваш проект Maven

0
Pankaj Sharma

этот конфликт возникает, потому что некоторые из ваших зависимостей повреждены. Следуйте этому: -> для устранения этого конфликта просто войдите в ваш открытый каталог .m2 и удалите все файлы из этой папки. и теперь откройте ваш проект, перейдите в debug do maven clean и после очистки и всех загрузок просто обновите ваш maven projet. и ваш конфликт будет разрешен.

0
krishna Tyagi
  1. Узнайте версию Spring-context, которую использует ваш проект:

(в Eclipse: Project Explorer -> [ваш проект] -> зависимости Maven)

или же 

mvn dependency:tree

Перечисляет все зависимости для вашего проекта

  1. Удалите папку org/springframework/spring-context/5.0.9.RELEASE из своего хранилища maven .m2/repository. Предполагая, что 5.0.9.RELEASE является версией релиза с весенним контекстом.
0
Barun

У меня тоже такая же проблема, я решил, удалив папку .m2/repository/org, позже сделал maven обновленную форму STS. 

0
Naresh Reddy Kallamadi