我有一个大型的多模块maven项目,并正在使用编译器,万无一失和故障安全插件。我所有的单元测试都是以“万无一失”的方式运行的,而我的集成测试则是用“故障安全”进行的。为什么在整个项目上运行mvn verify,它似乎做了以下工作:
这是一个非常缓慢的过程,如果这样做的话,我觉得会更快:
有效地做以下事情:
但是我不知道该怎么安排这个。这个是可能的吗?还是我的假设,这可能会更快?谢谢你的帮助。
发布于 2014-03-13 20:20:54
您不能这样做,请考虑以下结构
A (pom)
|
|
|
|
------B (jar)
| \---C (dependency)
|
|------C (jar)这里B依赖于C,例如,在B&C中分别有以下类
B
class B{
C c;
public void sayHello(){
c.sayHello();
}
}C
class C {
public void sayHello(){}
}现在您将C类更改为
class C {
public void sayHello(String name){}
}如果您确实在所有阶段上编译,它将从any (依赖关系图)开始,C编译良好(只编译源代码并将类复制到目标/类),现在您正在B上运行编译,因为它将从本地maven缓存中获取B的旧版本(在本地maven缓存中仍然有方法)。
现在,安装首先发生在C上,在B上,它将成功
下一次相同的尝试将失败,因为B现在将找到不同的方法签名。
这里有效的是增量构建,但是maven实际上并不支持增量构建,请看,这是公开的请求。
如果希望只执行与构建生命周期无关的测试执行,则可以使用单独的构建配置文件进行测试。
https://stackoverflow.com/questions/22389877
复制相似问题