我是靠谱客的博主 悦耳咖啡豆,最近开发中收集的这篇文章主要介绍如何同时使用maven-replacer-plugin和maven-assembly-plugin插件,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

页面缓存是前端常见的问题,maven有专门的插件maven-assembly-plugin可以处理

参考https://blog.csdn.net/weixin_34336292/article/details/91979174

当同时使用了assembly和replacer时,有些需要注意的地方,记录一下

assembly插件fileSets代码如下:

<fileSets>
<fileSet>
<directory>${basedir}/target/classes</directory>
<outputDirectory>WEB-INF/classes/</outputDirectory>
</fileSet>
<fileSet>
<directory>${basedir}/src/main/webapp/</directory>
<outputDirectory>/</outputDirectory>
</fileSet>
</fileSets>

修改为如下即可

<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插件所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部