Grails のプラグインは、アプリケーションをモジュール化する優れた方法です。ドキュメントでは、このプラグインを使用するアプリケーション内のプラグインからアーティファクトをオーバーライドすることを提案しています。
それは本当に最善のアプローチですか?
例で説明しましょう: プラグインで定義されたドメイン クラス "org.User" があります。アプリケーションは、このドメイン クラスをオーバーライドします。「grails run-app」を使用すると、警告は表示されず、機能します。しかし、Eclipse (GGTS) は「クラス org.User の無効な重複クラス定義」について不平を言います。一部の開発者にとっては問題ではありませんが、「オートコンプリート」などによるコーディングを支援する IDE が気に入っています。
最後に、両方のクラスがコンパイルされ、Java クラス ローダーに配置されます。クラスのアプリケーション バージョンは、プラグインのバージョンの前にロードされます。クラスリゾルバーが最初にそれを見つけ、それが機能する理由です。この時点で間違っている場合は修正してください。1 つのクラスローダーに 2 つのバージョンのクラスを含めることは本当に良い考えですか?
代替手段は何ですか?