无法解析导入org.springframework.test.context.junit4.SpringRunner

llmtgqce  于 2023-04-06  发布在  Spring
关注(0)|答案(4)|浏览(239)

我试图从现在的某个时候解决这个问题。但我仍然没有得到解决。我只是从www.example.com下载了一个spring项目spring.io并将其作为Maven项目导入Eclipse IDE。之后,我得到了上面提到的错误。

无法解析导入org.springframework.test.context.junit4

我已经附上了我的代码下面。连同完整的pom.xml内容。

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>

请帮我解决这个问题。这对我这个学生来说非常重要。

ewm0tg9j

ewm0tg9j1#

它可以是scope,设置为test

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>

请确保包含SpringRunner的类位于/src/test/java文件夹中。

mzsu5hc0

mzsu5hc02#

我有最新的eclipse和最新的junit 4.12 jar,但我仍然使用这个问题。我终于解决了它。按照以下步骤:
1.关闭在eclipse中创建的maven项目,并关闭eclipse或STS工具。
1.转到Maven存储库:
C:\Users.m2\repository\org\springframework
并删除springframework文件夹中的所有内容。
1.现在打开eclipse/STS工具,然后打开您的项目。
1.项目将自动生成,错误消失。
1.如果没有
右键单击项目-〉Maven -〉更新项目.. -〉选中强制更新并单击确定

dy1byipe

dy1byipe3#

我认为缺少一个依赖:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>4.3.10.RELEASE</version>
    <scope>test</scope>
</dependency>
q1qsirdb

q1qsirdb4#

为什么要使用BUILD SNAPSHOT?
在您的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>

使用版本

<version>2.0.4.RELEASE</version>

或其他版本。
除非确实需要,否则不要重写库版本。

相关问题