Java 无法解析类型org.springframework.context.ConfigurableApplicationContext。它是从必需的.class文件间接引用的
我正在按照上的教程使用spring boot构建spring应用程序 我可以让程序在一台计算机上完美运行。 当我在另一台计算机上尝试时,我得到以下错误 无法解析类型org.springframework.context.ConfigurableApplicationContext。它是从必需的.class文件间接引用的 我尝试过删除和添加我的JRE系统库(JDK1.8),以及使用maven清理和更新项目,甚至删除和重新导入整个项目。所有这些方法都没有成功 我的pom文件是Java 无法解析类型org.springframework.context.ConfigurableApplicationContext。它是从必需的.class文件间接引用的,java,spring,maven,spring-boot,pom.xml,Java,Spring,Maven,Spring Boot,Pom.xml,我正在按照上的教程使用spring boot构建spring应用程序 我可以让程序在一台计算机上完美运行。 当我在另一台计算机上尝试时,我得到以下错误 无法解析类型org.springframework.context.ConfigurableApplicationContext。它是从必需的.class文件间接引用的 我尝试过删除和添加我的JRE系统库(JDK1.8),以及使用maven清理和更新项目,甚至删除和重新导入整个项目。所有这些方法都没有成功 我的pom文件是 <project
<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>
任何帮助都将不胜感激。谢谢。第二台机器上的Maven缓存已损坏。JAR无法打开,这就是为什么会出现此异常 您可以通过在该项目的第二台计算机上运行此命令来修复此问题:
mvn dependency:purge-local-repository
如果不起作用,请尝试删除该计算机上的本地回购(
~/.m2/repository/org/springframework
),然后再次运行mvn包。我也遇到了同样的问题。我在删除本地计算机上Maven(.m2)的本地存储库目录时解决了此问题。它为我解决了问题。我以前也遇到过同样的问题。可能发生了某些依赖项损坏。您可以清除并重新解析依赖项。
为此:
转到存在pom.xml的项目位置李>
在此处打开命令提示符,然后输入以下命令:
mvn依赖项:清除本地存储库-dresolve=true
我也有同样的问题,我按照以下步骤来解决:
1.关闭日食
2.删除存储库文件夹中的所有文件.m2/repository
3.重新打开Eclipse并更新您的Maven项目发生此冲突,因为您的某些依赖项已损坏。请遵循以下步骤:->
要删除此冲突,只需进入.m2文件夹打开存储库并删除该文件夹中的所有文件。现在打开你的项目,在调试中进行maven清理,在清理和所有下载之后,只需更新你的maven项目。您的冲突将得到解决。我也有同样的问题,我通过删除.m2/repository/org文件夹解决了问题,后来maven更新了表单STS
找出项目使用的spring上下文的版本:
(在Eclipse:ProjectExplorer->[您的项目]->Maven依赖项中)
或
列出项目的所有依赖项
从maven存储库.m2/repository
中删除文件夹org/springframework/springcontext/5.0.9.RELEASE
。假设5.0.9.RELEASE
是spring上下文发布版本
我也面临着同样的问题,为了解决这个问题,我下载了jar并将其添加为外部jar。
这里是下载链接:添加以下依赖项
org.springframework
spring上下文
4.3.7.1发布
这可能是因为某些依赖项没有正确解析。
您可以尝试将“SpringBootStarterParent”的版本更改/降级为本地的其他工作项目。
例如,通过将“2.3.0.RELEASE”(该版本适用于其他项目)中的“spring boot starter父级”设置为“1.5.9.RELEASE”,我的错误消失了。在第二台不工作的机器上,在本地m2 repo中验证maven依赖项是否正常,意思是JAR存在且未损坏JAR存在但我如何验证它们是否已损坏,如果已损坏,我如何修复它们?使用7zip或类似工具打开它们,检查类是否已损坏尝试此操作。@RITZXAVI我尝试了该链接,但未修复问题@再次检查最低点我不确定罐子是否存在。在.m2中,我有...m2\repository\org\springframework\spring context
而不是...m2\repository\org\springframework\context
我想我隐藏了一个更大的问题。现在,当我尝试运行代码时,无法实例化SLF4J LoggerFactory。感谢您的帮助,但最好是一个可重复的解决方案。应该有一种方法来确保pom中列出的环境和依赖项产生相同的行为。
mvn dependency:purge-local-repository
mvn dependency:tree
Add bellow dependancy
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>