欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

maven 建立多模块经历

程序员文章站 2024-02-03 20:23:46
...
  •     写在前面

        现在利用 Maven 创建多模块项目已经是非常流行了,近日也学习了。现将学习经历和出现的错误写出来;一是与君分享,以免有人遇见同样问题,有个参考;二是望大佬指点。水平不高,有错误望指出。

  • 前言

        只适合新手学习参考。   

  • 水平要求

        对maven 有基础的认识,有过使用的经历。

  • 工具

    我的是Intellij idea  (选择合适自己的,即可)

     maven

  • 目标

    利用maven 建立多模块,这里以web项目为例,基于web的常用分层所以我建立了三个model:demoService(提供接口)、 demoDao(数据访问)、demoWeb(业务逻辑处理)  ;其中demoWeb 依赖 demoService , demoDao依赖demoService

  •   步骤
  1. 下载/安装/配置 maven,这一步请自行百度,有一个点新手注意,在maven的安装目录下找到配置文件settings.xml中,最好创建一个本地仓库localRepository 。以我的为例 settings.xml位于D:\maven\apache-maven-3.2.2\conf中。应为maven项目获取依赖顺序是 本地仓库 ,第三方仓库,*仓库;
    <!-- localRepository
       | The path to the local repository maven will use to store artifacts.
       |
       | Default: ${user.home}/.m2/repository
      <localRepository>/path/to/local/repo</localRepository>
      -->
      <localRepository>F:\maven\repository</localRepository>
    上面是我的maven本地仓库。
    <mirrors>
        <!-- mirror
         | Specifies a repository mirror site to use instead of a given repository. The repository that
         | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
         | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
         |
        <mirror>
          <id>mirrorId</id>
          <mirrorOf>repositoryId</mirrorOf>
          <name>Human Readable Name for this Mirror.</name>
          <url>http://my.repository.com/repo/path</url>
        </mirror>
         -->
         <mirror>
          <id>alimaven</id>
          <name>aliyun maven</name>
          <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
          <mirrorOf>central</mirrorOf>        
        </mirror>
         
      </mirrors>
    上面阿里的镜像。

  2.  利用IntelliJ IDEA 创建一个projiect (为了方便,简单理解为eclipse中的workspace,但是还是有区别的)(用什么工具创建不重要,将maven 配置到ide 中, 高版本的MyEclipse好像自带maven)

maven 建立多模块经历

图 1.1 创建project

maven 建立多模块经历
图 1.2 创建project

    

maven 建立多模块经历

图 1.3 创建prioject

maven 建立多模块经历

maven 建立多模块经历

图 1.4 创建project

点击 Finish后等待一会 ,控制台提示下面的信息,表示创建project成功。

maven 建立多模块经历

图 1.5 创建project Build Success

maven 建立多模块经历

图 1.6 创建project 成功后的目录结构,这个src文件自己用不到,可以删除

3. 创建demoService

maven 建立多模块经历

图 2.1 创建demoService

maven 建立多模块经历

图 2.2 查看demoService

maven 建立多模块经历

图 2.3 创建demoService

maven 建立多模块经历

图 2.4 创建demoService

maven 建立多模块经历

图 2.5 创建demoService

maven 建立多模块经历

图 2.6 创建demoService 成功

maven 建立多模块经历

图 2.7 创建demoService  目录变化

4.  创建demoDao

        创建demoDao仿照demoServic 即可,我这里不想在谈论demoDao,因为我的本意是它实现demoService提供的接口。然后将服务导出,供demoWeb实际调用的。这就牵涉到了RMI 的使用。不是本文的范围,所以新手可以不创建,这里创建只为抛砖引玉。

5.  创建demoWeb

maven 建立多模块经历

图 3.1 创建demoService

        除了选择的archetype不同,其他的步骤都相同。

6. 修改pom.xml

           修改parent 的pom.xml,    <packaging> pom</packaging> 标识它是用来继承的;

maven 建立多模块经历

        修改demoServicedemoDao 的pom.xml,    <packaging> jar</packaging> 标识它将打包为jar;

        修改demoWeb的pom.xml,    <packaging> war</packaging> 标识它将打包为war;


这个parent项目是用来给demoService .demoDao .demoWeb 继承的, 可以将所有的依赖jar 都放到parent的pom.xml文件中管理,parent 下的demoService 、 demoDao 、demoWeb 添加依赖的版本就方便管理为一致