Liferay緩存所有主題的css文件,有時甚至在部署之後。此緩存存儲在兩個地方:
[Liferay的家庭] /tomcat-8.0.32/work/Catalina/localhost/ROOT/css/http_/o/custom-theme-or-portlet
[Liferay的家庭] /工作/自定義門戶
我的開發環境是遠程的,所以我創建了一個任務的gradle刪除每個新部署之前的文件夾。我使用的是SSH gradle plugin部署和我創建的主題項目的build.gradle,舉例:
task buildThemeByGulp(type:Exec) {
if (System.getProperty('os.name').toLowerCase(Locale.ROOT).contains('windows')) {
commandLine 'cmd', '/c', 'gulp_build.bat'
}else{
commandLine './gulp_build.sh'
}
}
task deployToServerDev {
doFirst {
println 'Executing gulp build process.'
}
doLast {
ssh.run {
session(remotes.developServer) {
put from: "${cetelemProjectHome}/themes/cetelem-web-theme/dist/cetelem-web-theme.war", into: "/app/liferay-dxp-digital-enterprise-7.0-sp1/deploy"
}
}
}
}
task removeServerCache {
doLast {
println 'Removing cache folders in server'
ssh.run {
session(remotes.developServer) {
execute 'rm -rf /app/liferay-dxp-digital-enterprise-7.0-sp1/tomcat-8.0.32/work/Catalina/localhost/ROOT/css/http_/o/cetelem-web-theme'
execute 'rm -rf /app/liferay-dxp-digital-enterprise-7.0-sp1/work/com.cetelem.web.searcher.portlet-1.0.0'
}
}
}
}
deployToServerDev.dependsOn getTasksByName('removeServerCache',true)
deployToServerDev.dependsOn getTasksByName('buildThemeByGulp',false)
如果你的環境是本地更容易呢。你會修改gradle任務。其重要創建主題根文件夾內的這兩個文件:
(如果你有一個UNIX等等) gulp_build.sh:
#!/usr/bin/env bash
gulp clean
gulp build
(如果您有Windows) gulp_build。蝙蝠:
@echo off
gulp build
exit
最後你執行刀片GW deployToServerDev(或gradle這個deployToServerDev)和工作流將成爲下一個:
- 執行removeServerCache任務刪除主題靜態文件緩存。
- 執行buildThemeByGulp任務,執行gulp clean和gulp構建任務(生成戰爭)。
- 部署war文件以部署liferay文件夾。