Groovy 5 で複数のオーバーロードされたmainメソッドを含むクラスまたはファイルを報告します。

クラスやファイルに異なるシグネチャを持つ複数のmainメソッドがある場合、メインメソッドの呼び出しは引数の有無に基づいてランタイム時に行われるため、どれがアプリケーションのエントリーポイントとして機能するのかを理解しにくくなります。 次の例を考えてみてください:


class A {
    void main(String[] args) {
        println "1"
    }

    void main() {
        println "2"
    }
}
引数が渡されない場合はmain()が呼び出され、それ以外の場合はmain(String[])が呼び出されます。