我是Maven的新手,我正在尝试将一些项目转换为Maven工作,我不确定构建它们的正确方法是什么 - 这就是我所拥有的:
我有一个共同的模块 - 命名Common和两个不同的应用程序,它们与它们都依赖的事实没有任何共同之处Common.让我们把它们A和B.
A- > Common和B- > 之间的依赖关系Common既适用于运行时也适用于测试 - 这意味着A测试类需要Common测试类.
我尝试了各种我能想到的组合 - 但是他们没有产生我想要的东西.奇怪的是我的代码编译,但JUnits失败,因为在类Common路径中找不到测试类.
我要补充2个轮廓对Common创建2件文物及添加2只依赖A和B这两个文物?(这可能吗?)有没有正确的方法来做我想要的?我应该重构我的代码以适应Maven吗?
这是一个常见的maven陷阱.当您依赖该工件时,工件中的测试类不可用.这实际上是合理的:当你依赖时Common,你依赖于生产类(JAR文件).测试类仅用于运行测试,甚至不包含在最终的JAR中.
假设您的Common测试类包含所有Common测试A和B测试所需的一些实用方法,这里是一个建议的结构:
Common-test- 包含(!)中的常用实用程序测试类(不是测试用例/src/main/java!)Common取决于Common-test与<scope>test</scope>A并B依赖于Common(默认范围)和Common-test(test范围)| 归档时间: |
|
| 查看次数: |
2261 次 |
| 最近记录: |