页面缓存是前端常见的问题,maven有专门的插件maven-assembly-plugin可以处理
参考https://blog.csdn.net/weixin_34336292/article/details/91979174
当同时使用了assembly和replacer时,有些需要注意的地方,记录一下
assembly插件fileSets代码如下:
复制代码
1
2
3
4
5
6
7
8
9
10<fileSets> <fileSet> <directory>${basedir}/target/classes</directory> <outputDirectory>WEB-INF/classes/</outputDirectory> </fileSet> <fileSet> <directory>${basedir}/src/main/webapp/</directory> <outputDirectory>/</outputDirectory> </fileSet> </fileSets>
修改为如下即可
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22<fileSets> <fileSet> <directory>${basedir}/target/classes</directory> <outputDirectory>WEB-INF/classes/</outputDirectory> </fileSet> <fileSet> <directory>${project.build.directory}/${project.build.finalName}</directory> <!--需要排除的内容--> <excludes> <exclude>/WEB-INF/classes/**</exclude> <exclude>/WEB-INF/lib/**</exclude> </excludes> <!--需要包含的内容--> <includes> <include>/WEB-INF/web.xml</include> <include>/WEB-INF/views/**</include> <include>/resources/**</include> <include>/index.jsp</include> </includes> <outputDirectory>/</outputDirectory> </fileSet> </fileSets>
原理:
原始配置是将源代码src/main/webapp/ 复制到打包war文件中,但是我们现在需要的页面(ftl或jsp等)是replacer插件替换后的文件,不在src目录,因此需要使用target下的文件。
替换后的${project.build.directory}/${project.build.finalName}是target下的打包临时文件夹,里边包含已经编译的classes和lib等,这些需要排除,因此使用excludes标签.
/WEB-INF/*下是替换后的页面文件和其他web资源等,是我们需要的,因此需要使用includes引入。
研究要点:比较原始打包和修改后的打包文件,一定要包含所有需要的文件及文件夹(以及classes问价和lib文件)
最后
以上就是悦耳咖啡豆最近收集整理的关于如何同时使用maven-replacer-plugin和maven-assembly-plugin插件的全部内容,更多相关如何同时使用maven-replacer-plugin和maven-assembly-plugin插件内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复