【学习笔记】maven下多个web项目使用maven-war-plugin需要注意的问题

本文详细解析了Maven在编译打包过程中对于同名文件的处理机制,特别是war包的打包流程中,如何根据插件声明顺序来决定文件的覆盖规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://blog.youkuaiyun.com/nthack5730/article/details/50179175

文件重名和覆盖的问题

  1. |---maven的war包编译打包以plugin声明的顺序为主

  2. | |---先声明的先打包,后声明的如果有同级并且重名的文件,则以后声明的文件为准,覆盖先声明的文件

  3. | |---注意:必须是同级同名才会被覆盖,否则打包不会被覆盖!

  4. | | |---假设:A项目和B项目的文件布局如下

  5. | | | |---A项目文件布局:

  6. | | | | |---js

  7. | | | | |---css

  8. | | | | |---WEB-INF

  9. | | | | | |---web.xml

  10. | | | | |---.....

  11. | | |

  12. | | |

  13. | | | |---B项目文件布局:

  14. | | | | |---js

  15. | | | | |---css

  16. | | | | |---WEB-INF

  17. | | | | | |---web.xml

  18. | | | | |---.....

  19. | | |

  20. | | |---那么web.xml就属于是同级同名的情况,那么在打包时候有被覆盖的问题,主要是看那个是主项目哪个是子项目

  21. | | | |---如果A是主项目,B是子项目,那么A的web.xml就会覆盖B的,反之亦然。

  22. | | | |---如果A和B都是子项目,那么就根据plugin的声明的顺序进行打包,后声明的就会覆盖前面的。

  23. | | | | |---如果主项目中有同级同名的web.xml,那么主项目的就会覆盖前面的。

  24. |

  25. |

  26. |---在同级目录下,如果不重名的文件则保留并且不会被覆盖,即:目录不会被覆盖

  27. | |---假设A项目为主,B、C项目为辅助项目,三个项目下面都有一个同级的文件夹“js”,并且每个项目都有自己的js文件:a.js, b.js. c.js

  28. | |---那么打包的时候,最终的target中会有一个"js"文件夹,并且文件夹里面都有a.js, b.js. c.js三个文件

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值