0

私はflexmojosプラグインを頻繁に使用しており、flexmojosメーリングリストのユーザーをできる限り支援しようとしています。

助けている間、私は問題でいっぱいの手が常に再発し、通常は常に同じ解決策を持っているのを見ることができました。

私のアイデアは、人々が何が悪いのかを見つけやすくするために、flexmojosにある種の検証コードを追加することでした。Mavenコードを調べている間、私はModelValidatorsを見つけました(主に、これらの厄介なスコープの警告を取り除く方法を見つけようとしていたためです)。ModelValidatorを実装するバリデーターを作成し、それをプラグインに含めるのは良い考えだと思います。

残念ながら、カスタムバリデーターを実際に提供するための文書化された方法を見つけることができませんでした。ここにいる誰かが、これがどのように行われるかを教えてくれますか、またはDefaultModelValidatorがMavenをサポートする唯一のものである場合は、これ以上検索しないようにしてください。

クリス

4

1 に答える 1

0

わかりました...私はついに私の問題の解決策を考え出しました。ここに行きます:

一般的に、Mavenは私が望むものをサポートしていません。幸いなことに、それを行う方法があります。Mavenを再構成しているので、ModelValidatorの役割を持つコンポーネントを作成する必要があります。次に、このコンポーネントを含むjarをMAVEN_HOME / lib / extディレクトリに配置すると、ウィービングがオーバーライドされ、デフォルトのModelValidatorの代わりに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

于 2011-11-08T15:30:27.853 に答える