我怎样才能在gradle springboot devtools中预处理资源?

时间:2017-04-30 19:01:17

标签: spring gradle spring-boot

我想将sass预编译成css。

addResources标记(true)无法解决此问题。

Spring devtools只是将原始资源加载到build

有一些gradle节点插件,gulp插件。

调用processResoureces任务时,服务器上运行的bootRun任务会重置build目录并将原始资源重新复制到build。所以gulp,webpack等插件不能这样做......

1 个答案:

答案 0 :(得分:0)

Rene已经在gradle博客中提供了解决方案

  

所有这些“内部”任务都是在内部创建的   project.afterEvaluate闭包意味着它们不可能   直接在build.gradle中引用。作为一种解决方法,您可以移动   在afterEvaluate阶段的dependsOn声明。

project.afterEvaluate{
    prepareDebugDependencies.dependsOn("generateMyAssets")
}

资源链接:How to define a preprocessing task for android build?

更新#1:

Q1:Why bootRun task re-copy resources?

  

如果已将devtools添加到您的项目中,它将自动生成   监控您的应用程序的变化。或者,您也可以运行   应用程序,以便您的静态类路径资源(即在   默认情况下,src / main / resources)可在实时应用程序中重新加载,   这对开发时很有帮助。

bootRun {
    addResources = true
}
     

使静态类路径资源可重新加载意味着bootRun可以   不使用processResources任务的输出,即在调用时   使用bootRun,您的应用程序将使用其中的资源   未经处理的表格。