美文网首页
2018-01-18使用maven搭建多模块的springmvc

2018-01-18使用maven搭建多模块的springmvc

作者: supory | 来源:发表于2018-01-23 15:03 被阅读88次

    1、maven自动管理java包

    2、maven构建多个模块,结构清晰,管理方便。

    3、使用mybatis持久化框架,手动编写更多的sql语句

    一、测试环境原理

    mysql5.5 + myeclipse2014 +navicate + jdk1.7 + tomcat 7

    1、模块聚合

    随着项目越来越大,功能越来越多,更多的时候需要模块管理,例如本实例分为model persist service web 

    maven的聚合功能将多个模块统一管理,一次构建。

    聚合pom仅仅是帮助模块聚合的工具,本身并没有实质内容


    module 就是各模块名称

    通过构建一个打包方式为pom的maven项目,通过声明多个module,来实现聚合。

    packaging:pom 否则无法聚合构建


    2、pom继承

    通过在父pom中声明来实现子pom中的复用和消除。

    打包方式packging:pom,因此可以和聚合使用同一个配置文件。

    dependencyManagement 、pluginManagement,让子pom继承父pom的同时,又保证了子pom的灵活性,并没有实际引入子pom中,但约束了子pom的依赖。

    二、项目目录结构

    各项目功能介绍:

    ssm-root是maven-project是父级maven,管理整个项目

    ssm-model是数据模型模块

    ssm-persist是持久化模块,使用的mybatis,则有映射的接口和对应的xml配置文件

    ssm-util是工具模块

    ssm-service是业务服务模块,是对数据操作接口定义和实现的模块

    ssm-web是核心业务处理层,是springmvc的controller实现处

    三、项目搭建

    首先eclipse得安装maven,教程https://jingyan.baidu.com/article/295430f136e8e00c7e0050b9.html

    1、创建父级maven-project

    新建--->maven-project-->simple-->输入名称,创建完毕。

    选择maven project 默认选项 fileter中输入simple,选择site,其他两个j2ee和seam本人没有测试。 输入相关的参数

    注意:

    groupId定义当前模块隶属的实际Maven项目, 表示方式与Java包类似   

    : groupId不应直接对应项目隶属的公司/组织(一个公司/组织下可能会有很多的项目).

    artifactId定义实际项目中的一个Maven模块     

    : 推荐使用项目名作为artifactId前缀, 如:commons-lang3commons作为前缀(因为Maven打包默认以artifactId作为前缀)

    version定义当前项目所处版本(如1.0-SNAPSHOT4.2.7.RELEASE1.2.1514.0.1-h-3 等)       

    :Maven版本号定义约定: <主版本>.<次版本>.<增量版本>-<里程碑版本>

    packaging定义Maven项目打包方式, 通常打包方式与所生成构件扩展名对应      

    :有jar(默认)、war、pom、maven-plugin等.

    classifier用来帮助定义构建输出的一些附属构件(如javadoc、sources)     

    : 不能直接定义项目的classifier(因为附属构件不是由项目默认生成, 须有附加插件的帮助)

    2、创建子maven-model

    注意:父maven管理所有的子maven项目

    在父maven中选择新建--->选择maven-model-->选择quickstart--->输入相关参数


    新建model


    filter中输入start,选择第一个maven release quickstart 选择版本号,完成

    注意:此时,在父级maven中已经含有了子maven-model项目

    重复上述步骤,依次创建persist、service、util,

    对于web项目,在filter时,输入web,选择相应maven管理下的web app 

    注意:创建完web项目后,我的该web项目会自动添加maven webapp 然而在pom.xml中使用的项目名称是web,于是对该项目重命名,使用reactor--rename,当修改了name后,发现子项目web消失了,于是从新创建model,选择web,eclipse会自动将之前创建的web项目载入。

    第一次创建后,没有修改,在maven clean时候,报错,说在找不到web的pom.xml。具体原因,未确定。

    关于依赖。

    参考文章:http://blog.csdn.net/zjf280441589/article/details/53044308

    相关文章

      网友评论

          本文标题:2018-01-18使用maven搭建多模块的springmvc

          本文链接:https://www.haomeiwen.com/subject/innioxtx.html