Java 无法解析导入org.springframework.test.context.junit4.SpringRunner
从现在开始,我一直在尝试解决这个问题。但我仍然没有解决它。我只是从spring.io下载了一个spring项目,并将其作为一个Maven项目导入到eclipseide。之后,我遇到了上述错误 无法解析导入org.springframework.test.context.junit4 我在下面附上了我的代码,以及完整的pom.xml内容Java 无法解析导入org.springframework.test.context.junit4.SpringRunner,java,spring-boot,Java,Spring Boot,从现在开始,我一直在尝试解决这个问题。但我仍然没有解决它。我只是从spring.io下载了一个spring项目,并将其作为一个Maven项目导入到eclipseide。之后,我遇到了上述错误 无法解析导入org.springframework.test.context.junit4 我在下面附上了我的代码,以及完整的pom.xml内容 package com.Ticket.Booking.TicketBooking; import org.junit.Test; import org.juni
package com.Ticket.Booking.TicketBooking;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;//I got the error in this line
@RunWith(SpringRunner.class)//Also in this line too.
@SpringBootTest
public class TicketBookingApplicationTests {
@Test
public void contextLoads() {
}
}
这是我的pom.xml文件
<?xml version="1.0" encoding="UTF-8"?>
http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
<groupId>com.Ticket.Booking</groupId>
<artifactId>Ticket-Booking</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Ticket-Booking</name>
<description>Project For Book Movie Tickets Online.</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.BUILD-SNAPSHOT</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
com.Ticket.Booking
订票
0.0.1-快照
罐子
订票
在线预订电影票的项目。
org.springframework.boot
spring启动程序父级
2.0.0.1构建快照
UTF-8
UTF-8
1.8
org.springframework.boot
弹簧靴起动器执行器
org.springframework.boot
spring启动程序数据mongodb
org.springframework.boot
弹簧启动装置
org.springframework.boot
SpringBootStarterWeb
org.springframework.boot
弹簧起动试验
测试
org.springframework.boot
弹簧启动启动器数据rest
org.springframework.boot
springbootmaven插件
春季快照
春季快照
https://repo.spring.io/snapshot
真的
春季里程碑
春季里程碑
https://repo.spring.io/milestone
假的
春季快照
春季快照
https://repo.spring.io/snapshot
真的
春季里程碑
春季里程碑
https://repo.spring.io/milestone
假的
请帮我解决这个问题。作为一名学生,这对我来说非常重要。可能是范围,设置为
测试
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
org.springframework.boot
弹簧起动试验
测试
请确保包含SpringRunner
的类位于您的/src/test/java
文件夹中。我认为缺少依赖项:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.3.10.RELEASE</version>
<scope>test</scope>
</dependency>
org.springframework
弹簧试验
4.3.10.1发布
测试
我有最新的eclipse和最新的junit 4.12 jar,但我仍然用它来解决这个问题。我最终解决了它。按照以下步骤操作:
关闭在eclipse中创建的maven项目并关闭eclipse或STS工具
转到Maven存储库:
C:\Users\.m2\repository\org\springframework\
并删除springframework文件夹中的所有内容
现在打开eclipse/STS工具,然后打开您的项目
项目将自动生成,错误将消失
如果没有,那么
右键单击project->Maven->Update project..->检查原力
更新并单击“确定”
为什么要使用构建快照
在pom.xml中,您有
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.BUILD-SNAPSHOT</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
org.springframework.boot
spring启动程序父级
2.0.0.1构建快照
使用版本
<version>2.0.4.RELEASE</version>
2.0.4.0版本
或其他发布版本
除非确实有必要,否则不要重写库版本。不应使用spring boot导入springframework依赖项,如果需要,也不应重写这些版本。如果可能的话,最好使用启动器。这很好。错误已经消失了。但现在我无法清理编译包。它说有测试失败。@HKhan如果这根据需要,您的项目设置或依赖项有问题,没有在.m2 repo中正确下载。在spring boot应用程序中获取spring runner不需要这样做,因此不建议这样做。@Darrenforsyth我删除了整个.m2 repo并重新添加了它。因此,现在它可以正常工作了。感谢您的帮助ide。我已经在上面的代码中将作用域设置为test。我使用的SpringRunner类也在/src/test/java文件夹中。但我还是得到了和以前一样的错误。实际上我也遇到了同样的问题,通过将类移动到test文件夹,它得到了修复。@HKhan也许你需要右键单击你的项目,然后转到maven,然后单击Update项目。还有清理你的项目。这对我来说是固定的。尤其是最后一个*/java/
文件夹,这是我所缺少的。你是个天才。谢谢你,这修复了我的一系列错误。尽管我直接去强制更新。现在我像专业、半专业一样进行单元和集成测试:)