8

Gradle で war ファイルを作成しようとしていますが、1 つのディレクトリを除外し、たまたま同じ名前で親ディレクトリが異なる別のディレクトリを含めるという問題が発生しています。

以下の最初のコード例では、どちらのcss/ディレクトリも最終ファイルに含まれていないことに注意してください.Gradleは、絶対パスに関係なく、名前が付けられたディレクトリwarを除外したいと考えているためだと思います.css/

後者には縮小されたコードが含まれているため、基本的には除外src/main/webapp/cssして含めたいと考えています。build/tmp/cssどうすればこれを達成できますか?さまざまな方法で絶対パスを指定しようとしましたが、成功しませんでした。

war {
  dependsOn minify
  from('build/tmp/') { include ('css/') }
  exclude('WEB-INF/classes/', 'css/')
}

css/そのように除外しない場合:

war {
  dependsOn minify
  from('build/tmp/') { include ('css/') }
  exclude('WEB-INF/classes/')
}

その結果、縮小されたコードと縮小されていないコードの両方が含まれます。

4

1 に答える 1

6

build.gradleWEB-INF/classes/cssの代わりに除外する理由はわかりませんが、元の CSS ファイルの代わりに縮小された CSS ファイルをコピーするには、次のようにします。src/main/webapp/css

apply plugin: 'war'

war {
  // dependsOn 'minify'

  from 'src/main/webapp'
  exclude 'css' // or: "exclude 'WEB-INF/classes/css'"

  from('build/tmp/css') {
    include '**/*.css'
    into 'css' // or: "into 'WEB-INF/classes/css'"
  }
}
于 2012-10-30T14:12:10.630 に答える