我正在努力学习一个有点复杂的maven构建。我发现一个模块使用伪造的包装类型,“定制战争”是具体的。如果我执行:
mvn -e -X clean install
maven因此抱怨:
[DEBUG] Error looking up lifecycle mapping to retrieve optional mojos. Lifecycle
ID: clean. Error: Component descriptor cannot be found in the component repository:
org.apache.maven.lifecycle.mapping.LifecycleMappingcustom-war.
然而,它似乎继续执行干净:干净,所以它必须做出一些决定,以确定映射到生命周期阶段的目标。任何人都可以在伪装包装类型面前提供一些关于maven决策的见解吗?
我想我应该补充一点,这个自定义模块似乎是“定义它自己的默认生命周期绑定”;我找到了一个component.xml文件,它定义了默认生命周期阶段的目标绑定。鉴于此,错误似乎是抱怨没有声明为clean的绑定,但component.xml的格式似乎不支持。
答案 0 :(得分:1)
clean
阶段一直持续到完成,因为绑定到此阶段的目标与包装无关。
另一方面,响应命令mvn install
应采取的措施取决于包装。 Maven遇到了一个未知的“定制战争”包装,所以它举手了。
请参阅Maven的correlation of phases to packaging。