【问题标题】:Building custom Maven ModelValidators构建自定义 Maven 模型验证器
【发布时间】:2011-12-19 12:36:29
【问题描述】:

我经常使用 flexmojos 插件,并尽我所能帮助 flexmojos 邮件列表中的人们。

在提供帮助时,我可以看到充满问题的手总是会再次出现,并且通常总是有相同的解决方案。

我现在的想法是向 flexmojos 添加某种验证代码,以便人们更容易找出问题所在。在查看 Maven 代码时,我发现了 ModelValidators(主要是因为我试图找到一种方法来摆脱那些令人讨厌的范围警告)。我认为创建一个实现 ModelValidator 的验证器并将其包含在插件中将是一个好主意。

不幸的是,我找不到实际提供自定义验证器的文档化方法。如果 DefaultModelValidator 是 Maven 唯一支持的,请在这里有人指导我如何完成或阻止我继续搜索。

克里斯

【问题讨论】:

    标签: validation maven maven-plugin flexmojos


    【解决方案1】:

    好的...我终于找到了解决问题的方法。如下:

    一般 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-30
      • 2012-01-29
      • 2012-08-26
      • 1970-01-01
      • 1970-01-01
      • 2016-04-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多