您的位置:首页 > 其它

创建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子模块 ,不包含业务代码;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: