0

私のプロジェクトでは、次のディレクトリを設定しました。

  • src/main/resources/common
  • src/main/resources/local
  • src/main/resources/release

私の目標は、デフォルトのリソースの精緻化を上書きし、最終的なアーカイブでこのディレクトリ ツリーを「平坦化」することです。

現時点では、この醜い解決策しか見つかりませんでした:

resources {
  exclude 'release'
  exclude 'common'
  exclude 'local'
  srcDir 'src/main/resources/common'
  srcDir 'src/main/resources/local'
  srcDir 'src/main/resources/release'
}

src/main/resourcesこのソリューションでは、ファイルが最終アーカイブにコピーされると思います。リソースのデフォルト ディレクトリを除外する方法はありますか?

私の問題を解決するためのより良い方法はありますか?

4

1 に答える 1

1

より良いアプローチは、デフォルトの場所を上書きすることです:

sourceSets {
    main {
        resources {
            srcDirs = [
                'src/main/resources/common', 
                'src/main/resources/local',
                'src/main/resources/release'
            ]
        }
    }
}

コレクションを設定できるようにするプロパティ( などsrcDirs) を提供し (それによってデフォルトをオーバーライドする)、コレクションに追加できるようにする同様の名前のメソッド( srcDir)。

私の目標は [...] 最終的なアーカイブでこのディレクトリ ツリーを「平坦化」することです。

それが何を意味するのかわかりません。

于 2013-03-21T10:16:02.243 に答える