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

Maven多模块项目测试调用子模块类抛出NoClassDefFoundError

Maven多模块项目测试阶段NoClassDefFoundError问题

项目结构

project/
├── migration/
│   ├── src/
│   │   ├── main/
│   │   │   └── Migration.java
│   │   └── test
│   └── pom.xml
├── depends-on-migration/
│   ├── src/
│   │   ├── main (使用Migration.java - 正常)
│   │   └── test (使用Migration.java - 抛出NoClassDefFoundError)
│   └── pom.xml (依赖migration)
└── pom.xml

问题描述

Migration类在depends-on-migration模块的主代码中可正常引用,但执行mvnw package时编译失败,测试阶段抛出NoClassDefFoundError。

错误日志

2022-12-17T14:22:56.025+08:00  INFO 13468 --- [           main] c.b.d.DependsOnMigrationApplicationTests : Starting DependsOnMigrationApplicationTests using Java 17.0.2 with PID 13468 (started by Joseph in Z:\bwgjoseph\maven-nested-multi-module-project\depends-on-migration)
2022-12-17T14:22:56.031+08:00  INFO 13468 --- [           main] c.b.d.DependsOnMigrationApplicationTests : No active profile set, falling back to 1 default profile: "default"
2022-12-17T14:22:57.289+08:00  INFO 13468 --- [           main] c.b.d.DependsOnMigrationApplicationTests : Started DependsOnMigrationApplicationTests in 1.534 seconds (process running for 2.498)
[ERROR] Tests run: 2, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 2.493 s <<< FAILURE! - in com.bwgjoseph.dependsonmigration.DependsOnMigrationApplicationTests
[ERROR] test1  Time elapsed: 0.454 s  <<< ERROR!
java.lang.NoClassDefFoundError: com/bwgjoseph/migration/Migration
        at com.bwgjoseph.dependsonmigration.DependsOnMigrationApplicationTests.test1(DependsOnMigrationApplicationTests.java:17)
Caused by: java.lang.ClassNotFoundException: com/bwgjoseph/migration/Migration
        at com.bwgjoseph.dependsonmigration.DependsOnMigrationApplicationTests.test1(DependsOnMigrationApplicationTests.java:17)

[INFO] 
[INFO] Results:
[INFO]
[ERROR] Errors: 
[ERROR]   DependsOnMigrationApplicationTests.test1:17 NoClassDefFound com/bwgjoseph/migr...
[INFO]
[ERROR] Tests run: 2, Failures: 0, Errors: 1, Skipped: 0

补充说明

  • 此为简化示例,涉及migration和depends-on-migration两个模块
  • 测试代码引用的是migration/src/main下的Migration类,而非src/test中的类
  • 未找到完全匹配的同类问题,可提供更多信息协助排查

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 11:01:34