加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Gradle:战争任务有冲突包含/排除

发布时间:2020-12-15 00:45:38 所属栏目:Java 来源:网络整理
导读:我正在尝试使用Gradle构建一个war文件,但是我遇到了一个问题,它排除了一个目录,并且包含了另一个恰好具有相同名称但不同父目录的目录. 请注意下面的第一个代码示例中,css /目录都没有包含在最终的war文件中 – 我假设因为Gradle认为我想要排除任何名为css /
我正在尝试使用Gradle构建一个war文件,但是我遇到了一个问题,它排除了一个目录,并且包含了另一个恰好具有相同名称但不同父目录的目录.

请注意下面的第一个代码示例中,css /目录都没有包含在最终的war文件中 – 我假设因为Gradle认为我想要排除任何名为css /的目录而不管其绝对路径.

基本上我想排除src / main / webapp / css并包含build / tmp / css,因为后者包含缩小的代码.我怎样才能做到这一点?我已尝试以各种方式指定绝对路径,但没有取得任何成功.

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

如果我不排除css / like,那么:

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

然后结果是包括缩小和非缩小代码.

解决方法

我不确定为什么在build.gradle中排除WEB-INF / classes / css而不是src / main / webapp / css,但是通过以下方式复制缩小的CSS文件而不是原始的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'"
  }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读