Java &引用;无法解析导入org.springframework。”;
这是我的POM.xml文件:Java &引用;无法解析导入org.springframework。”;,java,eclipse,maven,Java,Eclipse,Maven,这是我的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>
<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>
我在我的App.java类中的import语句中收到错误消息,如下所示:
“无法解析导入org.springframework。”
我在POM.xml中清楚地提到了依赖项,但我的java类仍然无法从中提取依赖项。您需要遵循几个步骤来正确调试 1)
mvn clean dependency:tree
查看输出,查看您得到的确切信息,并验证您的依赖项是否都存在
2) mvn干净编译
。这失败了吗?如果不是,这是否意味着您只能在Eclipse中获得错误
您在评论中提到“我运行上述两个命令,但我得到了这个错误”。mvn clean编译是否有效?还是你也因此而犯了错误?如果它能工作,那么它只是一个IDE问题,我会看看m2eclipse
插件。更好的是,使用IntelliJ,因为免费版本比Eclipse具有更好的maven支持;-)
一些时尚的东西
人们通常在不需要的时候在pom文件中添加太多依赖项。如果你看一下mavenrepository.com上的几个链接,你会发现spring-oxm
和spring-jdbc
都依赖于spring-core
,所以你不需要明确地添加它们(例如)<代码>mvn clean dependency:tree
将向您显示所有这些之后将出现的内容,但这更整洁
spring批测试
应该是测试
范围。最后我的问题得到了解决。我正在将项目作为“现有项目导入工作区”。这是完全错误的。在那之后,我选择了“现有的Maven项目”,在那之后,一些小问题和所有错误都被消除了。在这个过程中,我在Maven中学到了很多东西,这些东西对于Maven项目的新参与者来说非常重要。我对这个问题的直接解决方案:
右键单击项目-->Maven-->Add Dependency==然后选择缺少依赖项的名称或父名称
在Eclipse中右键单击项目名称,-->Maven-->选择Maven概要文件。。。
然后勾选要设置的maven配置文件。单击OK之后,Eclipse将自动将maven设置导入到您的项目中。如果检查项目的属性,您会发现已添加Maven依赖项库。这里的回答对我有帮助: 您应该查看项目的构建路径,以检查引用的库是否仍然存在。因此,右键单击您的项目,然后单击“属性->Java构建路径->库”,并检查您是否仍然在上面提到的位置有spring库JAR。如果没有,只需在此对话框中将它们重新添加到类路径中 添加这些依赖项
</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>
org.springframework
春豆
4.3.7.1发布
org.springframework
spring上下文
4.3.7.1发布
org.springframework.beans.factory.support.beannamagenerator是我的错误。我做了一个maven清理、maven构建等,但没有用,我发现我的.m2文件夹不在eclipse安装文件夹中。我在eclipse文件夹的外侧找到了.m2文件夹,我将其粘贴到eclipse文件夹中,然后在eclipse中碰巧执行了以下操作:-
打开配置生成路径
专家
javaee集成
选择Maven archiver在build目录下生成文件
应用并关闭
我的项目现在已经启动并运行。如果您确信pom.xml非常好,那么您只需更新项目即可。右键单击project-Maven-update项目。或者简单地按alt+F5键。在我的例子中,我不得不删除
.m2/存储库中的jar,然后执行Maven->updatemaven项目
jar似乎已损坏,删除并下载新的jar修复了此问题。对我有效的解决方案是右键单击project-->Maven-->更新项目,然后单击“确定”。我将一个项目作为“现有Maven project”导入,并解决了此问题
决议:
将JRE系统库的Java构建路径更改为Workspace defailt JRE[jdk 1.8]
步骤:
右键单击项目->构建路径->配置构建路径->库选项卡->双击JRE系统库->更改到工作区定义JRE[jdk 1.8]在我的例子中,我使用了下面的pom.xml文件
这对我很有效 唯一适合我的解决方案是将maven编译器插件添加到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>
...
...
maven编译器插件
3.1
1.7
1.7
真的
C:\ProgramFiles\Java\jdk1.7.0\U 79\bin\javac
...
在我的例子中,通过更新maven的依赖项解决了这个问题:
在Eclipse STS中也有同样的问题。
将pom中的范围从“提供”更改为“编译”修复了问题,当我将其更改回时,一切仍然正常。您可以遵循的步骤很少
删除存储库文件夹
C:/Users/user_name/.m2
然后使用IDE终端运行命令或在项目文件夹中打开cmd
mvn清洁安装
重新启动ide
如果无法解决问题,请运行此命令
mvn理念:理念
添加以下JPA依赖项
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
org.springframework.boot
spring引导启动器数据jpa
对我来说,这个问题是在我忘记添加SpringWeb依赖项时出现的。我在eclipse的
autocomplete中检查,我的项目没有可用的org.springframework.web
。然后从project>spring>addstarters
I向pom.x添加了web依赖项