我使用flexmojos插件非常多,我正尽力帮助flexmojos邮件列表中的人们。
在帮助的同时,我可以看到一个充满问题的手再次发生,并且通常总是有相同的解决方案。
我现在的想法是为flexmojos添加某种验证代码,以便让人们更容易找出问题所在。在查看Maven代码时,我发现了ModelValidators(主要是因为我试图找到一种方法来摆脱那些恼人的范围警告)。我认为创建一个实现ModelValidator的验证器并将其包含在插件中是一个好主意。
不幸的是,我找不到实际提供自定义验证器的文档化方法。如果DefaultModelValidator是Maven支持的唯一一个,那么请有人在这里指导我如何完成这项工作或阻止我再次进行搜索。
克里斯
答案 0 :(得分:0)
好的......我终于找到了解决问题的方法。这是:
一般来说Maven不支持我想要的东西。幸运的是,有一种方法可以做到这一点。 当我重新配置Maven时,我必须创建一个具有ModelValidator角色的组件。如果我然后将包含此组件的jar放在我的MAVEN_HOME / lib / ext目录中,它将覆盖编织并使用我的ModelValidator而不是默认的。
@Component( role = ModelValidator.class )
public class FMDefaultModelValidator extends DefaultModelValidator {
@Override
public void validateEffectiveModel(Model model, ModelBuildingRequest request, ModelProblemCollector problems) {
//super.validateEffectiveModel(model, request, problems);
}
}
通过这个技巧,我可以通过验证做任何我想做的事情。 我记录了这一点,并在我的公司汇合中添加了一个默认项目: https://dev.c-ware.de/confluence/display/PUBLIC/Flexmojos+in+Continuous+Integration+Builds