maven如何处理假包装类型?
我正在学习一个有点复杂的maven构建。我发现一个模块使用了一种伪造的包装类型,具体来说就是“定制战争”。如果我执行:maven如何处理假包装类型?,maven,Maven,我正在学习一个有点复杂的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 componen
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.
但是,它似乎继续执行clean:clean,因此它必须做出一些决策,确定哪些目标映射到生命周期阶段。有人能提供一些关于maven在面对虚假包装类型时的决策见解吗
我想我应该补充一点,这个自定义模块似乎是“定义自己的默认生命周期绑定”;我发现了一个component.xml文件,它定义了默认生命周期各个阶段的目标绑定。有鉴于此,错误似乎在抱怨没有为clean声明绑定,但是component.xml的格式似乎不支持这一点。clean阶段一直运行到完成,因为绑定到此阶段的目标与打包无关 另一方面,响应命令
mvn install
应该做什么取决于包装。Maven遇到了一个未知的“定制战争”包装,因此它举手投降
参见Maven。但它似乎在说,参见
生命周期ID:clean
,它在启动clean生命周期时举手。我是否误读了这里的内容?您能否成功运行mvn clean
?这可能是因为它在清理过程中似乎失败了,但在POM的初始解析过程中,当它遇到未知的打包时,它确实失败了。IIRC要支持新的打包类型,您需要将插件配置为提供扩展。我看到另一篇关于使用新包装的帖子()。也许这提供了一些提示。