创建Maven父子项目及发布到tomat的完整过程
2015-08-20 13:39
267 查看
最近在搞一个项目,要自己创建一个maven的子项目,总结一下以后自己看;
1.创建一个父项目
NEW -->project-->maven-->maven Project,点击下一步,进入new maven Project的Select project name
and location界面
在Browse选择总的程序,然后点下一步;
Select an Archetype界面(选择一个原型)
选择maven-archetype-site-simple这个选项,然后点击下一步
在group id 和artifact id中输入你的group和artifact名称。我用的分别是all和all,选择完成。这时会在eclipse中生成一个项目,项目名是all。
会生成一个maven项目
将项目all中的src文件删除(可有可无)
2. 创建子项目
选中项目all,点击右键,选择NEW
-->project-->maven-->maven Module,点击下一步,在出现的界面中输入子项目名称
点击下一步,出现Select
an Archetype界面。这时选择maven-Archetype-site-quickStart或者maven-Archetype-webapp(构建web层时使用),然后选择完成,即生成子项目C。
对于这些非常规类型的项目,如果想要成为父项目,需要做如下一些改动:
1.将pom.xml文件中的<packaging>jar</packaging>改为<packaging>pom</packaging>,若不换为pom则在打包的时候父项目会产生一个target文件;如果没有<packaging>pom</packaging>的可以在<version>0.0.1-SNAPSHOT</version>后面添加上这句话即可。
2.删除除pom.xml外的所有文件,其中JRE System Library是不能直接删除的,需要选择中,并单击右键Bulid Path-->Remove from bilud path即可移除。
这时的父项目就显得很干净整洁了。
其实在普通的项目上是不允许构建子模块的,能否在一个项目下创建子模块,主要取决于是否有<packaging>pom</packaging>这个配置。如果有这个配置则任何项目都可以创建子模块,硬要这样创建的话整个项目会变的不伦不类。看来maven在判断一个项目是否可以创建子模块其实是取决于这个配置的。
到现在就完成了maven的父子项目搭建,在构建完项目后会,发布到tomcat会发现一个问题,那就是发布到tomcat不成功,373ms后tomcat自动完成了,我在实际搭建的时候困扰了很久不得其法,最后发现在tomcat的项目里lib包中没有对应的jar,才知道是少了依赖;
解决方法如下:
右击项目->properties->找到Deployment Assembly,右边便是编译打包的配置,看是不是缺少了lib库的依赖,我的就是,点击Add,添加maven依赖库如下:
之后就可以正常发布了;
其中zc是父项目,同时承担聚合模块和父模块的作用,没有实际代码和资源文件 ;
zc.commons是基础项目,里面是公共的代码 ;
zc.xxx.src是业务子模块,不包含web内容;
zc.xxx.web是某一个web子模块 ,不包含业务代码;
1.创建一个父项目
NEW -->project-->maven-->maven Project,点击下一步,进入new maven Project的Select project name
and location界面
在Browse选择总的程序,然后点下一步;
Select an Archetype界面(选择一个原型)
选择maven-archetype-site-simple这个选项,然后点击下一步
在group id 和artifact id中输入你的group和artifact名称。我用的分别是all和all,选择完成。这时会在eclipse中生成一个项目,项目名是all。
会生成一个maven项目
将项目all中的src文件删除(可有可无)
2. 创建子项目
选中项目all,点击右键,选择NEW
-->project-->maven-->maven Module,点击下一步,在出现的界面中输入子项目名称
点击下一步,出现Select
an Archetype界面。这时选择maven-Archetype-site-quickStart或者maven-Archetype-webapp(构建web层时使用),然后选择完成,即生成子项目C。
对于这些非常规类型的项目,如果想要成为父项目,需要做如下一些改动:
1.将pom.xml文件中的<packaging>jar</packaging>改为<packaging>pom</packaging>,若不换为pom则在打包的时候父项目会产生一个target文件;如果没有<packaging>pom</packaging>的可以在<version>0.0.1-SNAPSHOT</version>后面添加上这句话即可。
2.删除除pom.xml外的所有文件,其中JRE System Library是不能直接删除的,需要选择中,并单击右键Bulid Path-->Remove from bilud path即可移除。
这时的父项目就显得很干净整洁了。
其实在普通的项目上是不允许构建子模块的,能否在一个项目下创建子模块,主要取决于是否有<packaging>pom</packaging>这个配置。如果有这个配置则任何项目都可以创建子模块,硬要这样创建的话整个项目会变的不伦不类。看来maven在判断一个项目是否可以创建子模块其实是取决于这个配置的。
到现在就完成了maven的父子项目搭建,在构建完项目后会,发布到tomcat会发现一个问题,那就是发布到tomcat不成功,373ms后tomcat自动完成了,我在实际搭建的时候困扰了很久不得其法,最后发现在tomcat的项目里lib包中没有对应的jar,才知道是少了依赖;
解决方法如下:
右击项目->properties->找到Deployment Assembly,右边便是编译打包的配置,看是不是缺少了lib库的依赖,我的就是,点击Add,添加maven依赖库如下:
之后就可以正常发布了;
其中zc是父项目,同时承担聚合模块和父模块的作用,没有实际代码和资源文件 ;
zc.commons是基础项目,里面是公共的代码 ;
zc.xxx.src是业务子模块,不包含web内容;
zc.xxx.web是某一个web子模块 ,不包含业务代码;
相关文章推荐
- 启动tomcat时 一闪而过解决方法(2)
- java异常处理机制
- winfrom 用enter建来切换
- [转]Android开发:实时处理摄像头预览帧视频------浅析PreviewCallback,onPreviewFrame,AsyncTask的综合应用
- 属性动画Animator
- 在arcgis javascript 的sdk中 地图自动居中和放大 到一个graphic的位置.并且自动打开InfoWindow
- 禁止非法root的设备OTA升级
- [Android]使用 lint 工具优化 Android 布局
- [leetcode] Ugly Number
- CSS样式优先级机制
- 2015盘点最佳5笔小投资引援:骑士得枪勇士收肉盾
- sql server 数据库备份还原
- MongoDB : couldn’t open /data/db/yourdb.ns errno:13 Permission denied
- 【JavaScript】DOM结构介绍和方法预览
- Python:Bubble 排序算法
- iOS申请真机调试证书-图文详解
- Ubuntu 下面安装gtk+-2.0
- [leetcode] 142.Linked List Cycle II
- synchronized与static synchronized 差异
- 正则表达式相关(group用法)