maven多模块项目,多web合并项目使用心得
2015-07-14 08:11
253 查看
关于多模块的文章,网上有很多,也都很详细,这里不再多说。
maven的多web模块maven-war-plugin插件的overlays属性来处理,最终主web项目pom.xml代码如下
这里使用到了maven-war-plugin,用overlay属性已经足够将多web合并了,只是用的过程中需要注意以下几点:
被合并的子web项目packaging属性必须是war
被合并的子web项目,必须在主项目中添加依赖关系。
被合并的子web项目中,如果没有web.xml,则需要在pom.xml中声明
做完以上几点,多web项目合并就基本上做完了,运行mvn install就会发现打出的war包中已经存在了其他子模块的项目。
对于maven项目,一个环境到另一个环境应该只有pom.xml文件和src文件夹就够了,其他都是用户根据自己的环境来做的。
打开eclipse,修改本地maven仓库地址,导入maven项目,等待构建结束。
创建server,打开window-prefrences-server-runTime Environment-new ....选择tomcat路径,jdk信息,这一步和原来完全一样。
打开server视图,new server,这里选中刚才创建的tomcat,点击next,这步只需要主web项目添加进来即可。
双击创建的server,选择将项目发布到tomcat的webapps目录下,点击pushlish,完成。
再去tomcat目录,发现已经将合并后的web发布到对应目录下了。 引用的其他Java项目已经被打包成jar发布到lib下了,不过你可以打个断点试试,依然可以调试,修改一段代码,发现热部署也是可以的,这样就和原来的开发习惯完全一样了。
细心的用户会发现,其实这完全和我们原来的构建,部署方式完全一样,是的,maven没有那么复杂,m2eclipse maven plugin已经帮我们做好了太多的事情,maven只会让我们项目之间的迁移更方便,更简洁,这也是我喜欢上maven的重要原因。
另一个参考地址:http://depravedangel.iteye.com/blog/1450964
maven多web合并项目
多web项目合并,主要是我在网上找到的资料都不是我最终想要的效果,所以这里就介绍下我最终使用的方案,网上有很多方案都是介绍用caro插件,我到现在也不明白为什么要使用这个插件。maven的多web模块maven-war-plugin插件的overlays属性来处理,最终主web项目pom.xml代码如下
<build> <finalName>bpmcenter</finalName> <plugins> <!-- 合并多个war --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> <packagingExcludes>WEB-INF/web.xml</packagingExcludes> <overlays> <overlay> <groupId>com.founder.fix.fixflow</groupId> <artifactId>fixflow-webapp-taskcenter</artifactId> </overlay> </overlays> </configuration> </plugin> </plugins> </build>
这里使用到了maven-war-plugin,用overlay属性已经足够将多web合并了,只是用的过程中需要注意以下几点:
被合并的子web项目packaging属性必须是war
被合并的子web项目,必须在主项目中添加依赖关系。
被合并的子web项目中,如果没有web.xml,则需要在pom.xml中声明
<build> <finalName>fixflow-webapp-editor</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin> </plugins> </build>
做完以上几点,多web项目合并就基本上做完了,运行mvn install就会发现打出的war包中已经存在了其他子模块的项目。
多web项目在eclipse+tomcat环境下部署调试
在eclipse里面使用,其实更简单,只是网上的说法太复杂了而已,对于习惯了tomcat开发的用户来说。对于maven项目,一个环境到另一个环境应该只有pom.xml文件和src文件夹就够了,其他都是用户根据自己的环境来做的。
打开eclipse,修改本地maven仓库地址,导入maven项目,等待构建结束。
创建server,打开window-prefrences-server-runTime Environment-new ....选择tomcat路径,jdk信息,这一步和原来完全一样。
打开server视图,new server,这里选中刚才创建的tomcat,点击next,这步只需要主web项目添加进来即可。
双击创建的server,选择将项目发布到tomcat的webapps目录下,点击pushlish,完成。
再去tomcat目录,发现已经将合并后的web发布到对应目录下了。 引用的其他Java项目已经被打包成jar发布到lib下了,不过你可以打个断点试试,依然可以调试,修改一段代码,发现热部署也是可以的,这样就和原来的开发习惯完全一样了。
细心的用户会发现,其实这完全和我们原来的构建,部署方式完全一样,是的,maven没有那么复杂,m2eclipse maven plugin已经帮我们做好了太多的事情,maven只会让我们项目之间的迁移更方便,更简洁,这也是我喜欢上maven的重要原因。
另一个参考地址:http://depravedangel.iteye.com/blog/1450964
相关文章推荐
- 迪米特法则
- 程序员7大软技能测验 你得几分?
- 接口隔离原则
- poj 3181 数钱dp + 特殊技巧解决大数加法
- POJ2449
- PHP编译原理之Opcode
- 单一职责原则
- HttpURLConnection根据URL下载图片
- 人民日报:谁在拖“互联网+”的后腿
- 开闭原则
- Javascript DOM编程艺术
- VS2005编绎SQLITE3
- How to cabal install
- 【剑指Offer学习】【面试题64:数据流中的中位数】
- XSS学习笔记(一个)-点击劫持
- cpe移植framework后,。解决问题的现有数据库
- Cisco Nexus 交换机术语及型号简介
- sqlplus连接Oracle数据库超时
- AFN基本使用02
- Hook机制里登场的角色