千家信息网

怎么实现Java模块与inter-module Maven构建测试依赖关系

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍"怎么实现Java模块与inter-module Maven构建测试依赖关系",在日常操作中,相信很多人在怎么实现Java模块与inter-module Maven构建测试依赖关系问题
千家信息网最后更新 2026年11月03日怎么实现Java模块与inter-module Maven构建测试依赖关系

这篇文章主要介绍"怎么实现Java模块与inter-module Maven构建测试依赖关系",在日常操作中,相信很多人在怎么实现Java模块与inter-module Maven构建测试依赖关系问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么实现Java模块与inter-module Maven构建测试依赖关系"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

我有一个多模块使用Maven和Java项目。 我现在想迁移到Java 9/10/11和实现模块(如JSR 376:Java平台模块系统)。 随着项目已经由Maven模块,和依赖直,为项目创建模块描述符很直接。

现在每个Maven模块有自己的模块描述符(module-info.java),在src/main/java文件夹中。 没有测试类的模块描述符。

然而,我偶然发现了我一直未能解决的问题,并没有找到任何描述如何解决:我怎么能有inter-module吗测试与Maven和Java模块依赖关系?

在我的例子中,我有一个"共同"Maven模块,它包含一些接口或抽象类(但没有具体实现)。 在相同的Maven模块,我有摘要测试,以确保适当的行为的实现这些接口/抽象类。 然后,有一个或多个子模块,接口实现/抽象类和扩展的抽象测试。

然而,当试图执行test阶段的Maven构建子模块将失败:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:testCompile (default-testCompile) on project my-impl-module: Compilation failure: Compilation failure:[ERROR] C:\projects\com.example\my-module-test\my-impl-module\src\test\java\com\example\impl\FooImplTest.java:[4,25] error: cannot find symbol[ERROR]   symbol:   class FooAbstractTest[ERROR]   location: package com.example.common

我怀疑这是因为测试不是模块的一部分。 即使Maven做一些"魔法"测试的范围内执行模块,它不会在我依赖的模块测试工作(由于某种原因)。 我怎么解决这个问题?

项目的结构是这样的:

├───my-common-module│   ├───pom.xml│   └───src│       ├───main│       │   └───java│       │       ├───com│       │       │   └───example│       │       │       └───common│       │       │           ├───AbstractFoo.java (abstract, implements Foo)│       │       │           └───Foo.java (interface)│       │       └───module-info.java (my.common.module: exports com.example.common)│       └───test│           └───java│               └───com│                   └───example│                       └───common│                           └───FooAbstractTest.java (abstract class, tests Foo)├───my-impl-module│   ├───pom.xml│   └───src│       ├───main│       │   └───java│       │       ├───com│       │       │   └───example│       │       │       └───impl│       │       │           └───FooImpl.java (extends AbstractFoo)│       │       └───module-info.java (my.impl.module: requires my.common.module)│       └───test│           └───java│               └───com│                   └───example│                       └───impl│                           └───FooImplTest.java (extends FooAbstractTest)└───pom.xml

的依赖关系my-impl-module/pom.xml如下:

            com.example        my-common-module        compile                com.example        my-common-module        tests        test                junit        junit        test    

注:以上是我创建的一个项目来证明这个问题。 我将试着更新完整项目的问题。 真正的项目是一个复杂多了在这里找到,但还没有模块化的主分支。

PS:代码本身没有什么错,一切使用正常的类路径(即编译并运行。 在IntelliJ)。

到此,关于"怎么实现Java模块与inter-module Maven构建测试依赖关系"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

模块 测试 项目 问题 学习 接口 更多 帮助 复杂 实用 相同 适当 接下来 代码 例子 分支 原因 多个 平台 摘要 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 博彦科技互联网金融 中关村互联网科技集团 新华互联网科技学校 智能科技公司是互联网公司吗 西安互联网科技 互联网科技革命 有木互联网科技 广州紫鲸互联网科技 深圳艾佳互联网科技 多迪互联网科技有限公司 哈尔滨新华互联网科技学院 互联网校园科技培训 佛山市翊博互联网络科技有限公司 互联网科技公司营业执照怎么办理 图游互联网科技 南京一网一红互联网科技有限公司 西安有哪些互联网高科技企业 珠海东科互联网科技有限公司 互联网科技企业商标注意事项 如何强化互联网金融科技 互联网科技排名 天下捷融互联网科技 互联网科技公司有哪些 顺网科技2021年互联网排名 安控科技rtu产品工业互联网 青岛中康互联网医疗科技有限公司 艺电能源互联网科技有限公司招聘 科技互联网经济论坛 长沙易易互联网科技有限公司 互联网高科技绘画
0