2016-10-17 2 views
3

Я следую учебнику на spring.io, чтобы построить весеннее приложение с использованием весеннего ботинка.Тип org.springframework.context.ConfigurableApplicationContext не может быть разрешен. Это косвенно ссылается на требуемые .class файлы

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

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

Я попытался удалить и добавить мою JRE Systems Library (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); 
    } 

} 

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

+1

на втором компьютере, где он не работает, проверьте в своем локальном m2 репо, что зависимости maven в порядке, что означает, что банки присутствуют и не повреждены. – Nadir

+0

Банки присутствуют, но как сделать Я проверяю, повреждены ли они или нет, и если да, то как их исправить? – user2719805

+1

откройте их 7zip или что-то подобное и проверьте, есть ли классы – Nadir

ответ

16

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

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

mvn dependency:purge-local-repository 

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

+0

Я думаю, что у меня больше проблема скрыта где-то , Я получаю 'Не удалось создать экземпляр SLF4J LoggerFactory', когда я пытаюсь запустить код. Спасибо за помощь, хотя – user2719805

+0

спасибо ... это сработало для меня !! –

1

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

1

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

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

    МВЕН зависимости: продувка-локальное хранилище -DreResolve = истина

Смежные вопросы

 Смежные вопросы