JUnit 5 是 Java 编程语言的第五个主要版本的单元测试框架。它提供了丰富的功能和改进,包括扩展模型、条件测试执行、并行测试执行等。org/junit/platform/launcher/core/LauncherFactory
是 JUnit 5 中用于创建测试执行器的工厂类。
NoClassDefFoundError: junitlauncher
错误表示在运行 JUnit 5 测试时,找不到 junitlauncher
类。这通常是由于缺少必要的依赖项或类路径配置不正确引起的。
junitlauncher
类。确保在项目的构建文件中添加了 JUnit 5 的必要依赖项。以下是 Maven 和 Gradle 的示例:
Maven:
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-launcher</artifactId>
<version>1.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
Gradle:
dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.8.1'
}
确保项目的类路径配置正确。例如,在 IntelliJ IDEA 中,可以通过以下步骤检查和配置:
File
-> Project Structure
。Modules
中,确保 Dependencies
标签页中包含了 JUnit 5 的依赖项。如果项目中存在多个版本的 JUnit 或相关库,可能会导致类加载冲突。可以通过以下方法解决:
<dependency>
<groupId>some.group</groupId>
<artifactId>some-artifact</artifactId>
<version>some-version</version>
<exclusions>
<exclusion>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
通过以上步骤,应该可以解决 NoClassDefFoundError: junitlauncher
错误。如果问题仍然存在,请检查日志和错误信息,以获取更多详细信息。