无法解析类型 org.springframework.context.ConfigurableApplicationContext。它是从所需的 .class 文件中间接引用的

新手上路,请多包涵

我正在按照 spring.io 上的教程使用 spring boot 构建 spring 应用程序。

我可以让程序在一台电脑上完美运行。当我在另一台计算机上尝试时,出现以下错误

无法解析类型 org.springframework.context.ConfigurableApplicationContext。它是从所需的 .class 文件中间接引用的

我尝试删除和添加我的 JRE 系统库 (JDK 1.8),以及使用 Maven 清理和更新项目,甚至删除并重新导入整个项目。所有这些方法都没有成功。

我的 pom 文件是

<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);
    }

}

任何帮助将不胜感激。谢谢你。

原文由 user2719805 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 917
1 个回答

您的 Maven 缓存在第二台机器上已损坏。无法打开 JAR,这就是您收到此异常的原因。

您可以通过在该项目的第二台机器上运行此命令来解决此问题:

 mvn dependency:purge-local-repository

如果这不起作用,请尝试删除该机器上的本地存储库( ~/.m2/repository/org/springframework )并再次运行 mvn package

原文由 Stephane Nicoll 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题