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

Eclipse运行JUnit测试忽略模块路径仅使用类路径的方法

Eclipse 实现JUnit测试走类路径、忽略模块路径的配置方案

以下方案和Maven Surefire插件useModulePath=false、IntelliJ "Do not use --module-path option" 效果完全一致,可按需选择:

方案1:临时单测试配置(推荐,不影响项目原有JPMS配置)

  • 右键点击要运行的测试类,选择Run As > Run Configurations
  • 找到对应JUnit运行配置,切换到Arguments标签页
  • 在VM arguments输入框中追加启动参数:
--class-path "${project_classpath:${selected_resource_name}}"
  • 点击Run即可,该配置仅对当前运行条目生效,不会修改主代码的模块路径校验规则。

方案2:新版Eclipse原生全局配置(适用于2022-09及更高版本)

  • 打开顶部菜单Window > Preferences(macOS系统为Eclipse > Settings)
  • 依次进入Java > Compiler > Building配置页
  • 找到Module settings分组下的For test sources, don't use module path when launching选项,勾选后保存
  • 配置生效后,所有存放在src/test/java目录下的测试代码运行时,Eclipse会自动将依赖放入类路径加载,完全遵循Maven标准目录的测试隔离逻辑。

方案3:项目级构建路径修改(适用于需要长期关闭测试模块路径的场景)

  • 右键点击项目根目录,选择Properties
  • 进入Java Build Path配置页,切换到Libraries标签
  • 展开Modulepath分组,选中所有依赖条目(含JRE、Maven依赖、测试依赖),点击右侧Remove
  • 选中Classpath分组,点击Add Library,将刚才移除的所有依赖重新添加到类路径下
  • 点击Apply and Close保存即可,后续所有代码运行默认走类路径。

注意:该方案会修改项目全局构建路径,会导致主代码的JPMS模块校验失效,仅建议测试阶段临时使用,正式构建前请恢复原有模块路径配置。

常见问题说明

如果项目主代码根目录存在module-info.java文件,Eclipse默认会将主代码识别为命名模块,默认运行测试时会强制走模块路径,此时优先选择方案1或方案2,不需要修改module-info.java添加测试相关的依赖声明,就能解决模块缺失、包不可见的报错。

内容的提问来源于stack exchange,提问作者Andrea Del Bene

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 21:45:33