[英]“The import org.springframework cannot be resolved.”
这是我的 POM.xml 文件:
<project>
<properties>
<jdk.version>1.6</jdk.version>
<spring.version>3.2.2.RELEASE</spring.version>
<spring.batch.version>2.2.0.RELEASE</spring.batch.version>
<mysql.driver.version>5.1.25</mysql.driver.version>
<junit.version>4.11</junit.version>
</properties>
<dependencies>
<!-- Spring Core -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- Spring jdbc, for database -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- Spring XML to/back object -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- MySQL database driver -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.driver.version}</version>
</dependency>
<!-- Spring Batch dependencies -->
<dependency>
<groupId>org.springframework.batch</groupId>
<artifactId>spring-batch-core</artifactId>
<version>${spring.batch.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.batch</groupId>
<artifactId>spring-batch-infrastructure</artifactId>
<version>${spring.batch.version}</version>
</dependency>
<!-- Spring Batch unit test -->
<dependency>
<groupId>org.springframework.batch</groupId>
<artifactId>spring-batch-test</artifactId>
<version>${spring.batch.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>spring-batch</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.9</version>
<configuration>
<downloadSources>true</downloadSources>
<downloadJavadocs>false</downloadJavadocs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>${jdk.version}</source>
<target>${jdk.version}</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
下面是我的java类:
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 类中的导入语句中遇到错误,这是消息:
“无法解析导入 org.springframework。”
我清楚地提到了 POM.xml 中的依赖项,但是我的 java 类仍然无法从那里选择依赖项。
您需要遵循几个步骤才能正确调试。
1) mvn clean dependency:tree
查看输出以确切了解您得到的内容并验证您的依赖项都在那里。
2) mvn clean compile
。 这会失败吗? 如果不是,那是否意味着您只会在 Eclipse 中收到错误?
您在评论中提到“我运行了上面的两个命令,但出现此错误”。 mvn clean compile
吗? 或者你也有错误? 如果它有效,那么它只是一个 IDE 问题,我会查看m2eclipse
插件。 更好的是,使用 IntelliJ,因为免费版本比 Eclipse 有更好的 Maven 支持;-)
一些风格的东西...
人们经常在不需要的时候在他们的 pom 文件中添加太多的依赖项。 如果您查看 mavenrepository.com 中的几个链接,您会发现spring-oxm
和spring-jdbc
都依赖于spring-core
因此您无需明确添加(例如)。 mvn clean dependency:tree
将向您展示所有这些之后的内容,但这更整洁。
spring-batch-test
应该是test
范围。
最后我的问题得到了解决。 我将项目作为“现有项目到工作区”导入。 这是完全错误的。 之后,我选择了“Existing Maven project”,之后一些小问题和所有错误都被删除了。 在这个过程中,我学到了很多 Maven 的东西,这些东西对于 Maven 项目的新手来说很重要。
对我有用的解决方案是右键单击项目 --> Maven --> 更新项目,然后单击确定。
添加这些依赖项
</dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
</dependencies>
我对此问题的直接解决方案:右键单击项目--> Maven ---> 添加依赖项== 然后选择缺少的依赖项的名称或父名称
在Eclipse中右键项目名称,-->Maven-->Select Maven Profiles... 然后勾选你要设置的maven profile。 单击确定后,Eclipse 会自动将 maven 设置导入到您的项目中。 如果您检查项目的属性,您会发现已添加 Maven 依赖项库。
这里的答案对我有帮助:
您应该查看项目的构建路径以检查引用的库是否仍然存在。 因此,右键单击您的项目,然后“属性 -> Java 构建路径 -> 库”并检查在那里提到的位置是否仍然有 spring 库 JAR。 如果没有,只需在此对话框中将它们重新添加到您的类路径中。
就我而言,我必须删除.m2/repository
的 jars,然后执行Maven->Update Maven Project
看起来 jar 已损坏,删除并下载新的 jar 解决了该问题。
如果您确定您的 pom.xml 非常好,那么您只需更新项目。 右键单击项目 - Maven - 更新项目。 或简单地 alt+F5。
添加以下 JPA 依赖项。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
对我来说,这个问题发生在我忘记添加 spring web 依赖时。 我从eclipse's
自动完成功能中检查到我的项目没有可用的org.springframework.web
。 然后从project > spring > add starters
我添加了 web 依赖到pom.xml
。
org.springframework.beans.factory.support.beannamegenerator ,是我的错误。 我做了一个 maven clean、maven build 等,这没什么用,我发现我的 .m2 文件夹不在我的 eclipse 安装文件夹中。 我在 eclipse 文件夹之外找到了 .m2 文件夹,我将其粘贴到 eclipse 文件夹中,然后在 eclipse 中我碰巧这样做了:-
打开配置构建路径 maven Java EE 集成 选择 Maven 归档器在构建目录下生成文件 apply 并关闭
我的项目现已启动并运行。
我将一个项目作为“现有 Maven 项目”导入并遇到了这个问题。
解决方案:将 JRE 系统库的 Java 构建路径更改为 Workspace defailt JRE [jdk 1.8]
步骤:
右键单击项目 -> 构建路径 -> 配置构建路径 -> 库选项卡 -> 双击 JRE 系统库 -> 更改为 Workspace defailt JRE [jdk 1.8]
对我有用的唯一解决方案是将 maven-compiler-plugin 添加到 pom.xml
<project ...>
...
<build>
...
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<fork>true</fork>
<executable>C:\Program Files\Java\jdk1.7.0_79\bin\javac</executable>
</configuration>
</plugin>
</plugins>
</build>
...
</project>
在 Eclipse STS 中遇到了同样的问题。 将 pom 中的范围从“提供”更改为“编译”解决了问题,当我将其改回时,一切仍然正常。
您可以遵循几个步骤
删除存储库文件夹
C:/Users/user_name/.m2
然后使用 IDE 终端运行命令或在项目文件夹中打开 cmd
mvn 全新安装
重启你的ide
如果不能解决您的问题,请运行此命令
mvn 想法:想法
就我而言,我在这里使用了下面的 pom.xml 文件
它对我有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.