You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级至Eclipse 2022-09后Tycho无法识别JUnit5测试的问题排查

Eclipse升级后Tycho无法识别JUnit5测试用例的解决方法

问题背景

将Eclipse从2022-06版本升级至2022-09(或2023-03)后,使用Tycho 2.7.4执行mvn clean verify时,JUnit5测试用例完全无法被识别,控制台输出No tests found导致构建失败。环境为Java 17,测试配置遵循Tycho JUnit5官方指引,在旧版Eclipse仓库下可正常运行。

问题原因

Eclipse 2022-09起,JUnit5相关组件的p2打包结构发生变更(如JAR文件名从org.junit.jupiter.api_x_x_x.jar改为junit-jupiter-api_x_x_x.jar),而Tycho 2.7.4版本对这种新打包格式的支持存在缺陷,无法正确关联JUnit5测试引擎与测试用例。

解决方案

方案1:升级Tycho至兼容版本

Tycho 2.8.0及以上版本已修复对新版JUnit5 p2打包的支持,操作步骤如下:

  1. 修改pom.xml中的tycho-version属性:
<properties>
    <tycho-version>2.8.0</tycho-version>
</properties>
  1. 若显式配置了tycho-surefire-plugin,确保其版本与Tycho主版本一致:
<build>
    <plugins>
        <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>tycho-surefire-plugin</artifactId>
            <version>${tycho-version}</version>
        </plugin>
    </plugins>
</build>
  1. 重新执行mvn clean verify,测试用例即可被正常识别。

方案2:调整测试插件依赖配置(不升级Tycho的备选)

若无法升级Tycho,可通过手动配置依赖解决:

  1. 修改测试插件的MANIFEST.MF,将原有的Import-Package替换为Require-Bundle,直接依赖JUnit5测试引擎:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: De Foobar Tests
Bundle-SymbolicName: de.foobar.tests;singleton:=true
Bundle-Version: 1.0.0.qualifier
Require-Bundle: org.junit;version="4.13.2",
 org.junit.jupiter.api;version="5.9.0",
 org.junit.jupiter.engine;version="5.9.0"
Bundle-Vendor: Foobar Inc
Bundle-RequiredExecutionEnvironment: JavaSE-17

(版本号可根据目标Eclipse仓库中的实际版本调整)
2. 确保pom.xml中的p2仓库指向2022-09或更高版本:

<repositories>
    <repository>
        <id>eclipse-release</id>
        <layout>p2</layout>
        <url>https://download.eclipse.org/releases/2022-09</url>
    </repository>
</repositories>
  1. 执行mvn clean verify验证测试运行状态。

注意事项

  • 无需手动导入org.junit.jupiter.engine.execution包,Tycho会通过测试引擎的依赖自动处理类路径。
  • 优先推荐升级Tycho到最新稳定版(如3.x系列),后续对新Eclipse版本的兼容性更好。

内容的提问来源于stack exchange,提问作者Marteng

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 18:23:15