加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Maven项目设计 – 共享一个共同的项目

发布时间:2020-12-14 06:04:41 所属栏目:Java 来源:网络整理
导读:我是Maven的新手,我正在尝试将一些项目转换为Maven工作,我不确定构建它们的正确方法是什么 – 这就是我所拥有的: 我有一个共同的模块 – 名为Common和两个不同的应用程序,它们都不依赖于Common这一事实.我们称他们为A和B. A- Common和B- Common之间的依赖关
我是Maven的新手,我正在尝试将一些项目转换为Maven工作,我不确定构建它们的正确方法是什么 – 这就是我所拥有的:

我有一个共同的模块 – 名为Common和两个不同的应用程序,它们都不依赖于Common这一事实.我们称他们为A和B.

A-> Common和B-> Common之间的依赖关系既适用于运行时也适用于测试 – 这意味着A的测试类需要Common的测试类.

我尝试了各种我能想到的组合 – 但是他们没有产生我想要的东西.
奇怪的是我的代码编译,但JUnits失败,因为在类路径中找不到Common的测试类.

我应该向Common添加2个配置文件以创建2个工件,并在A和B中为这两个工件添加2个依赖项吗? (那可能吗?)
有没有正确的方法来做我想要的?我应该重构我的代码以适应Maven吗?

解决方法

这是一个常见的maven陷阱.当您依赖该工件时,工件中的测试类不可用.这实际上是合理的:当你依赖Common时,你依赖于生产类(JAR文件).测试类仅用于运行测试,甚至不包含在最终的JAR中.

假设您的Common测试类包含所有Common测试,A和B测试所需的一些实用方法,这里是一个建议的结构:

> Common-test – 在/ src / main / java(!)中包含通用实用程序测试类(不是测试用例!)> Common依赖于Common-test with< scope> test< / scope>> A和B依赖于Common(默认范围)和Common-test(带测试范围)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读