Jos*_*osh 9 jsp replace build gradle
我有一个jsp包含一个看起来像的CSS链接
<link type="text/css" href="/css/login-min.css" rel="stylesheet" />
Run Code Online (Sandbox Code Playgroud)
为了防止浏览器缓存css文件,我们用css login-min.css的名称和时间戳或版本号替换
login-min.css?t=432432423423...
Run Code Online (Sandbox Code Playgroud)
在蚂蚁我会做类似的事情
<tstamp>
<format property="current.time" pattern="MMddyyyyhhmmssaa" offset="-5" unit="hour" />
</tstamp>
<replace dir="${deploy.path}/${name}/WEB-INF/jsp" value="login-min.css?t=${current.time}">
<include name="includes/login_css_include.jsp" />
<replacetoken>login-min.css</replacetoken>
</replace>
Run Code Online (Sandbox Code Playgroud)
对于gradle我已经更新了jsp页面
<link type="text/css" href="/css/@loginCSS@" rel="stylesheet" />
Run Code Online (Sandbox Code Playgroud)
在build.gradle中
import org.apache.tools.ant.filters.ReplaceTokens
war {
webInf {
from ("${webAppDir}/WEB-INF/jsp") {
include: "/includes/login_css_include.jsp"
filter(ReplaceTokens, tokens: [loginCSS: 'login-min.css?v=1'])
}
}
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用.
这个有效,但它改变了源...我只想修改战争中的文件.
import org.apache.tools.ant.filters.ReplaceTokens
war {
webInf {
from ("${webAppDir}/WEB-INF/jsp/includes/login_css_include.jsp") {
it.eachFile {
ant.replace(file: it.file, token: "@loginCSS@", value: "login-min.css?v=1")
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我是个全新的朋友,我完全不正确吗?以前有人需要这样做吗?使用gradle 1.0-milestone-1.
谢谢
Axe*_*ine 10
好的,这似乎有效:
jsp页面:
<link type="text/css" href="/css/@loginCSS@" rel="stylesheet" />
Run Code Online (Sandbox Code Playgroud)
build.gradle:
war {
filter(ReplaceTokens, tokens: ['loginCSS': 'login-min.css'])
}
Run Code Online (Sandbox Code Playgroud)
尝试另一种变体(它在我的案例中可以克服这个错误http://issues.gradle.org/browse/GRADLE-1566#)
war {
eachFile {
if (it.name == 'yourFile.jsp') {
it.filter(org.apache.tools.ant.filters.ReplaceTokens, tokens: [...])
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10570 次 |
| 最近记录: |