[英]Maven multi module project lifecycle
我有一个大型的多模块Maven项目,正在使用编译器,surefire和故障安全插件。 我所有的单元测试都使用surefire进行,而集成测试则使用故障保护。 为什么要在整个项目上运行mvn verify
,它似乎会执行以下操作:
这是一个非常缓慢的过程,我认为如果执行以下操作,它将更快:
有效地执行以下操作:
但是我不知道如何设置它。 这可能吗? 还是我的假设可能会更快呢? 谢谢您的帮助。
您不能这样做,请考虑以下结构
A (pom)
|
|
|
|
------B (jar)
| \---C (dependency)
|
|------C (jar)
这里B取决于C,例如,您现在分别在B&C中有以下课程
乙
class B{
C c;
public void sayHello(){
c.sayHello();
}
}
C
class C {
public void sayHello(){}
}
现在您将C类更改为
class C {
public void sayHello(String name){}
}
如果您确实在所有阶段进行编译,它将从A-C-B(依赖关系图)开始,C会编译良好(编译只是编译源并将类复制到目标/类),现在您正在B上运行编译它将正常编译因为它将从本地Maven缓存中获取B的旧版本(那里仍然有没有参数的方法)
现在安装首先在C上进行,然后在B上成功进行
同一件事的下一次尝试将失败,因为B现在将找到不同的方法签名
在这里有效的是增量构建,但是maven并不真正支持增量构建, 请参见此处的公开请求
如果您只想测试构建生命周期中的执行情况,则可以使用单独的构建配置文件进行操作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.