设置javascript文件的版本。Java EE+;雄猫
通过向javascript和css添加更新,我希望避免强制用户按Ctrl+F5来刷新缓存的js和css文件 禁用缓存也不是一个选择 为此,我想向js和css链接添加如下版本设置javascript文件的版本。Java EE+;雄猫,java,javascript,css,jsp,tomcat,Java,Javascript,Css,Jsp,Tomcat,通过向javascript和css添加更新,我希望避免强制用户按Ctrl+F5来刷新缓存的js和css文件 禁用缓存也不是一个选择 为此,我想向js和css链接添加如下版本 < link href="~/CSS/file.css?MY_VERSION" rel="stylesheet" /> 理想情况下,版本必须类似于构建日期和时间的构建编号。 但是我怎样才能自动设置呢 我不想在每次更新之后手动更新所有jsp文件中的这些值。 所以问题是 maven可以将构建版本添加到jsp文
< link href="~/CSS/file.css?MY_VERSION" rel="stylesheet" />
理想情况下,版本必须类似于构建日期和时间的构建编号。但是我怎样才能自动设置呢 我不想在每次更新之后手动更新所有jsp文件中的这些值。 所以问题是
- maven可以将构建版本添加到jsp文件中吗
- 如果第一点不可能,我如何(在哪里)设置应用程序全局变量和当前日期和时间?例如,我不能将它放入servlet,因为它是用每个请求构造的李>
- 这方面的最佳实践是什么?也许我的方法是完全错误的
com.google.code.maven-replacer-plugin
现在,如前所述,我们使用它,但它也不是一个理想的解决方案,但我认为不存在理想的解决方案
另请参见不同浏览器中的缓存行为:
<plugin>
<groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>maven-replacer-plugin</artifactId>
<version>1.4.1</version>
<executions>
<execution>
<id>anticache</id>
<phase>prepare-package</phase>
<goals>
<goal>replace</goal>
</goals>
<configuration>
<includes>
<include>target/classes/**/*.css</include>
</includes>
<replacements>
<replacement>
<token>anti-cache=anti-cache-parameter</token>
<value>anti-cache=${maven.build.timestamp}</value>
</replacement>
</replacements>
</configuration>
</execution>
</executions>
</plugin>
< link href="~/CSS/file.css#anti-cache=anti-cache-parameter" rel="stylesheet" />