IntelliJ에서 Maven을 사용하여 JUnit 테스트를 실행하려는 ClassNotFoundException

에반 홀

Maven을 사용하여 종속성을 관리하는 기본 JUnit5 테스트로 IntelliJ에서 Kotlin 프로젝트를 진행하고 있습니다. IntelliJ Run 'ClassName'명령을 통해 JUnit 테스트를 성공적으로 실행했습니다 .

오늘 초 저는 테스트를 테스트 스위트로 그룹화하기 시작했고 junit-platform-runner와 junit-platform-commons를 pom.xml에 종속성으로 추가했습니다. 그 이후로 테스트를 실행할 때마다 다음 ClassNotFoundException이 발생했습니다.

Exception in thread "main" java.lang.NoClassDefFoundError: org/junit/platform/commons/util/ClassNamePatternFilterUtils
    at org.junit.platform.launcher.core.LauncherFactory.loadAndFilterTestExecutionListeners(LauncherFactory.java:122)
    at org.junit.platform.launcher.core.LauncherFactory.create(LauncherFactory.java:108)
    at org.junit.platform.launcher.core.LauncherFactory.create(LauncherFactory.java:75)
    at com.intellij.junit5.JUnit5IdeaTestRunner.createListeners(JUnit5IdeaTestRunner.java:48)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:31)
    at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:220)
    at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:53)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at com.intellij.rt.execution.application.AppMainV2.main(AppMainV2.java:128)
Caused by: java.lang.ClassNotFoundException: org.junit.platform.commons.util.ClassNamePatternFilterUtils
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    ... 12 more

pom.xml, ran mvn clean install및 ran 에서 두 개의 새로운 종속성을 제거 mvn dependency:purge-local-repository했지만 여전히 동일한 문제가 발생합니다. 내 pom.xml의 내용은 아래에 붙여 넣습니다.

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.millibyte1</groupId>
    <artifactId>cubesearch</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

    <properties>
        <java.version>1.14</java.version>
        <kotlin.version>1.3.72</kotlin.version>
    </properties>

    <dependencies>

        <dependency>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-stdlib-jdk8</artifactId>
            <version>${kotlin.version}</version>
        </dependency>

        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter</artifactId>
            <version>5.6.0</version>
            <scope>test</scope>
        </dependency>
        <!--<dependency>
            <groupId>org.junit.platform</groupId>
            <artifactId>junit-platform-runner</artifactId>
            <version>1.7.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.platform</groupId>
            <artifactId>junit-platform-commons</artifactId>
            <version>1.7.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit</groupId>
            <artifactId>junit-bom</artifactId>
            <version>5.7.0-M1</version>
            <type>pom</type>
        </dependency>-->
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
                <executions>
                    <execution>
                        <id>default-compile</id>
                        <phase>none</phase>
                    </execution>
                    <execution>
                        <id>default-testCompile</id>
                        <phase>none</phase>
                    </execution>
                    <execution>
                        <id>java-compile</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>compile</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>java-test-compile</id>
                        <phase>test-compile</phase>
                        <goals>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>kotlin-maven-plugin</artifactId>
                <groupId>org.jetbrains.kotlin</groupId>
                <version>${kotlin.version}</version>
                <executions>
                    <execution>
                        <id>compile</id>
                        <goals>
                            <goal>compile</goal>
                        </goals>
                        <configuration>
                            <sourceDirs>
                                <sourceDir>${project.basedir}/src/main/kotlin</sourceDir>
                                <sourceDir>${project.basedir}/src/main/java</sourceDir>
                            </sourceDirs>
                        </configuration>
                    </execution>
                    <execution>
                        <id>test-compile</id>
                        <goals>
                            <goal>test-compile</goal>
                        </goals>
                        <configuration>
                            <sourceDirs>
                                <sourceDir>${project.basedir}/src/test/kotlin</sourceDir>
                                <sourceDir>${project.basedir}/src/test/java</sourceDir>
                            </sourceDirs>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>ClassNotFoundException trying to run JUnit tests using Maven in IntelliJ - Stack Overflow

도움을 주시면 미리 감사드립니다!

에반 홀

/home/username/.m2디렉토리를 삭제 하고 다시 실행 mvn clean install하면이 문제가 해결되었습니다. mvn dependency:purge-local-repository그렇게하지 않았는지 모르겠습니다 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Maven에서 JUnit 테스트를 실행할 때 ClassNotFoundException

Maven을 사용하여 Eclipse에서 단일 JUnit4 테스트 실행

어떻게 Gradle을에서 JUnit을 5 JUnit 4에서는 테스트 스위트를 실행하려면?

Ant를 사용하여 JUnit 테스트를 실행할 때 ClassNotFoundException 발생

java.lang.ClassNotFoundException을 표시하는 junit 테스트를 실행하는 Ant 스크립트

maven surefire를 사용하여 mpirun으로 Junit 테스트 실행

Eclipse에서 실행 도구> SWTBot 테스트를 사용하여 JUnit 5 테스트를 실행하는 방법

Junit을 사용하여 Kotlin에서 함수를 테스트하는 방법

Intellij 2018.2.RC에서 JUnit 4 테스트를 실행하려고 할 때 NoClassDefFoundError

Apache Maven Surefire를 사용하여 Junit 5 플랫폼에서 파일 기반 테스트 실행

Maven을 사용하여 Eclipse 애플리케이션에 플러그인으로 설치된 JUnit5 테스트를 실행하는 방법

명령줄에서 Eclipse+Maven+JUnit 테스트를 실행하는 방법

IntelliJ IDEA가 -parameters javac 옵션을 사용하여 JUnit 테스트를 실행하도록합니다.

통합 테스트 실행기를 사용하여 IntelliJ IDEA 프로젝트에서 "IntegrationTest"로 끝나는 것을 제외한 모든 JUnit 단위 테스트를 어떻게 실행할 수 있습니까?

FileInputStream을 사용하여 주 메서드에 Junit 테스트를 사용하는 동안 assertThrows 사용

Eclipse에서 junit 테스트를 실행할 때 ClassNotFoundException

java.lang.ClassNotFoundException : kotlin에서 spek을 사용하는 com.intellij.junit5.JUnit5IdeaTestRunner

@Rule이 실행되기 전에 Guice를 사용하여 Junit 테스트 케이스에 종속성을 삽입하려면 어떻게해야합니까?

Gradle 및 JUnit을 사용하여 테스트를 병렬로 실행하는 방법 (테스트 당)

JUNIT를 사용하여 ENUM을 테스트하는 방법

IDE 통합을 사용하여 실행중인 OSGi 애플리케이션 내에서 JUnit 테스트 실행

jUnit을 사용하여 Scala에서 나머지 엔드 포인트를 테스트하는 방법

junit을 사용하여이 프로그램에서 공용 메소드를 테스트하는 방법

다중 모듈 프로젝트에서 JUnit5 및 SpringBoot2를 사용하여 intelliJ 대신 gradle로 테스트를 실행하는 방법

Maven에서 다른 junit 테스트 클래스에 대해 별도의 구성을 실행하는 방법

Maven을 사용하여 Junit5 테스트를 실행할 수 없습니다.

실행할 구성 유형을 선택할 때 IntelliJ IDEA 15에서 Junit 테스트가 아닌 Gradle 테스트를 실행하십시오.

JUnit 5 테스트를 실행하지 않는 Maven

JUnit 테스트를 실행하지 않는 jenkins maven 빌드

TOP 리스트

  1. 1

    JSoup javax.net.ssl.SSLHandshakeException : <url>과 일치하는 주체 대체 DNS 이름이 없습니다.

  2. 2

    상황에 맞는 메뉴 색상

  3. 3

    java.lang.UnsatisfiedLinkError : 지정된 모듈을 찾을 수 없습니다

  4. 4

    SMTPException : 전송 연결에서 데이터를 읽을 수 없음 : net_io_connectionclosed

  5. 5

    std :: regex의 일관성없는 동작

  6. 6

    Ionic 2 로더가 적시에 표시되지 않음

  7. 7

    JNDI를 사용하여 Spring Boot에서 다중 데이터 소스 구성

  8. 8

    정점 셰이더에서 카메라에서 개체까지의 XY 거리

  9. 9

    Xcode10 유효성 검사 : 이미지에 투명성이 없지만 여전히 수락되지 않습니까?

  10. 10

    Android Kotlin은 다른 활동에서 함수를 호출합니다.

  11. 11

    SQL Server-현명한 데이터 문제 받기

  12. 12

    Windows cmd를 통해 Anaconda 환경에서 Python 스크립트 실행

  13. 13

    rclone으로 원격 디렉토리의 모든 파일을 삭제하는 방법은 무엇입니까?

  14. 14

    내 페이지 번호의 서식을 어떻게 지정합니까?

  15. 15

    Cassandra에서 버전이 지정된 계층의 효율적인 모델링

  16. 16

    Quickly 프로그램과 함께 작동하도록 Eclipse를 어떻게 설정할 수 있습니까?

  17. 17

    인코더없이 Azure 미디어 서비스 비디오 트림

  18. 18

    WSL 및 Ubuntu, 초기화 파일 이동 방법

  19. 19

    OpenCV에서. C ++ 컴파일러는 간단한 테스트 프로그램을 컴파일 할 수 없습니다. Clang ++ 사용

  20. 20

    마우스 휠 JQuery 이벤트 핸들러에 대한 방향 가져 오기

  21. 21

    ViewModel에서 UI 요소를 비동 시적으로 업데이트하는 방법

뜨겁다태그

보관