“无法解析导入org.springframework。”

 1.6 3.2.2.RELEASE 2.2.0.RELEASE 5.1.25 4.11     org.springframework spring-core ${spring.version}    org.springframework spring-jdbc ${spring.version}    org.springframework spring-oxm ${spring.version}    mysql mysql-connector-java ${mysql.driver.version}    org.springframework.batch spring-batch-core ${spring.batch.version}   org.springframework.batch spring-batch-infrastructure ${spring.batch.version}    org.springframework.batch spring-batch-test ${spring.batch.version}   junit junit ${junit.version} test    spring-batch   org.apache.maven.plugins maven-eclipse-plugin 2.9  true false    org.apache.maven.plugins maven-compiler-plugin 2.3.2  ${jdk.version} ${jdk.version}      Below is my java class import org.springframework.batch.core.Job; import org.springframework.batch.core.JobExecution; import org.springframework.batch.core.JobParameters; import org.springframework.batch.core.launch.JobLauncher; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class App { public static void main(String[] args) { String[] springConfig = { "spring/batch/jobs/job-hello-world.xml" }; ApplicationContext context = new ClassPathXmlApplicationContext(springConfig); JobLauncher jobLauncher = (JobLauncher) context.getBean("jobLauncher"); Job job = (Job) context.getBean("helloWorldJob"); try { JobExecution execution = jobLauncher.run(job, new JobParameters()); System.out.println("Exit Status : " + execution.getStatus()); } catch (Exception e) { e.printStackTrace(); } } } 

我在App.java类的import语句中遇到错误。 “无法解析导入org.springframework。” 我清楚地提到了POM.xml中的依赖关系,我的java类仍然无法从那里选择依赖。

您需要按照几个步骤进行正确调试。

1) mvn clean dependency:tree看看输出,看看你得到了什么,并validation你的依赖是什么。

2) mvn clean compile 。 这会失败吗? 如果不是这意味着你只在Eclipse中得到错误?

你在评论中提到“我在上面运行两个命令,但是我收到了这个错误”。 mvn clean compile工作了吗? 或者你也得到了错误? 如果它工作,那它只是一个IDE问题,我会看看m2eclipse插件。 更好的是,使用IntelliJ作为免费版本比Eclipse有更好的maven支持;-)

一些风格的东西……

人们经常在他们不需要时在他们的pom文件中添加太多依赖项。 如果你看看mavenrepository.com中的几个链接,你会发现spring-oxmspring-jdbc都依赖于spring-core所以你不需要明确地添加它(例如)。 mvn clean dependency:tree会告诉你在所有这些之后会发生什么,但这更加整洁。

spring-batch-test应该是test范围。

最后我的问题得到了解决。 我将项目导入为“现有项目进入工作区”。 这完全错了。 之后,我选择了“现有Maven项目”,之后发生了一些小问题和所有错误。 在这个过程中,我在Maven学到了很多东西,这对于Maven项目中的新人来说非常重要。

我对此问题的直接解决方案:右键单击项目 – > Maven —>添加依赖项==然后选择缺少依赖项的名称或父名称

在此处输入图像描述

添加这些依赖项

   org.springframework spring-beans 4.3.7.RELEASE   org.springframework spring-context 4.3.7.RELEASE   

右键单击Eclipse中的项目名称, – > Maven – >选择Maven配置文件…然后勾选要设置的maven配置文件。 单击OK后,Eclipse将自动将maven设置导入到项目中。 如果您检查项目的属性,您会发现已添加Maven依赖项库。

这里的答案帮助了我:

您应该查看项目的构建路径,以检查引用的库是否仍然存在。 因此,右键单击您的项目,然后右键单击“属性 – > Java构建路径 – >库”,并检查是否仍然在那里提到的位置使用弹簧库JAR。 如果没有,只需将它们重新添加到此对话框中的类路径中即可。

http://forum.spring.io/forum/spring-projects/springsource-tool-suite/98653-springframework-cannot-be-resolved-error

对我有用的解决方案是右键单击项目 – > Maven – > Update Project,然后单击OK。

org.springframework.beans.factory.support.beannamegenerator,是我的错误。 我做了一个maven clean,maven build等,这没用,我发现我的.m2文件夹不存在于我的eclipse安装文件夹中。 我在eclipse文件夹中找到了.m2文件夹,我粘贴在eclipse文件夹中然后在eclipse中我碰巧这样做了: –

打开configure build path maven Java EE集成选择Maven archiver生成文件,在build目录下apply和close

我的项目现在正在运行。

如果您确定您的pom.xml非常好,那么您只需要更新该项目。 右键单击项目 – Maven – 更新项目。 或者只是alt + F5。

在我的情况下,我不得不删除.m2/repository的jar,然后执行Maven->Update Maven Project

看起来jar子腐败,删除和下载新jar子解决了问题。

我将一个项目导入为“现有Maven项目”并且遇到了这个问题。

解决方案:将JRE系统库的Java构建路径更改为Workspace defailt JRE [jdk 1.8]

脚步:

右键单击项目 – >构建路径 – >配置构建路径 – >库选项卡 – >双击JRE系统库 – >更改为工作区defailt JRE [jdk 1.8]

在我的例子中,我在这里使用了下面的pom.xml文件

它对我有用。