一、问题出现
事情是这样的,原本我们web项目每一个都是独立的,顶多是依赖一些打包为jar的公共项目模块,但是webapp下的资源文件还是独立的。但是,由于我们自己封装的框架包含着一部分公共的前端资源文件(js、css、img等)和页面模板,当web项目多了,文件冗余自然就多了,如果框架需要调整修改,那得每个项目都要改一遍,那不是烦死?所以,我们决定想办法把这部分文件也要抽取出来,像jar包一样需要用到就通过maven依赖进来就行了。但是,这些在webapp下的文件应该是一个web项目的结构啊,那应该是编译成war包,也就是说war包需要依赖war包。然后听老大说maven3以上是支持war依赖war的(maven真不是盖的,
gradle不要欺负人家
),所决定重构一下项目(重构这个词挺吓人的)。。。
问题出来了,我们原来使用的
tomcat7-maven-plugin
插件运行(tomcat7:run)项目时,居然没有把所依赖的war给打包进去!项目是跑起来但是页面是裸奔的啊。。。(因为核心的js、css等都找不到)但是使用maven的install命令打包出来的war是有包含所依赖的war的内容的。那就奇怪了,一定是
tomcat7-maven-plugin
搞的鬼,然后找了很多相关的配置资料,心想应该是overlay的配置问题,找了很久试了N遍还是不行(反正是没解决,不要找借口也不多说了),但是其他的兄弟还要开发调试呢,我这个分支也急需合并到主分支,所以只能另辟蹊径了。
二、问题分析