学习使用Maven构建多模块项目

学习使用Maven构建多模块项目

Maven构件多模块项目(projectdemo)目录结构介绍

    projectdemo(父级-总工程)

        -- pom.xml

        -- projectutils(基础工具层)

            -- pom.xml

        -- projectbeans(实体层)

            -- pom.xml

        -- projectdao(数据访问层)

            -- pom.xml

        -- projectweb(web模块-1)

            -- pom.xml

        -- projectauth(web模块-2)

            -- pom.xml

模块依赖介绍

    projectbeans  --》无

    projectutils --》projectbean

    projectdao --》projectutils

    projectweb --》projectweb

    projectauth --》projectweb

构建多模块项目步骤

--》创建一个Maven project的主工程(注:parent project用于组织不同的Module,不实现逻辑)

--》右键项目-->New-->Module,新增Java子模块(projectbeans、projectdao、projectutils注:不要选择从archetype创建)

--》Java子模块(projectdao、projectutils,操作步骤同上,注:不要选择从archetype创建),创建完成后目录结构如下:

--》右键项目-->New-->Module,新增web子模块(projectweb、projectauth, 注:选择从archetype创建-->选择webapp选项)

这里需要注意的是IntelliJ IDEA 创建Maven项目时如果存在网速过慢,那么可以 添加属性:archetypeCatalog=internal,如果使用私服那么,这里一定不要指定archetypeCatalog=internal属性,这点很重要

--》新增web子模块(projectwebprojectauth,操作步骤同上, 注:选择从archetype创建-->选择webapp选项),创建完成目录解如下

--》添加模块依赖,两个步骤,Eclipse可以跳过不走(1)

     (1)设置调用依赖代码时静态编译通过

--》右键项目-->Open Module Setting

--》为projectutils添加依赖,选择Modules-->projectutils-->Dependencies-->点击【+】-->Module Dependency

--》根据之前的模块依赖分析,projectutils依赖projectbeans

--》操作步骤同上分别为projectdao、projectweb、projectauth添加依赖

    (2)pom文件中设置依赖

--》打开projectutils的pom.xml文件,添加依赖如下:

    <dependencies>
        <dependency>
            <groupId>cn.project</groupId>
            <artifactId>project-beans</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

    </dependencies>

--》projectdao、projectweb、projectauth,操作步骤同上分别打开pom.xml文件,添加依赖如下:

    -- projectdao

    <dependencies>
        <dependency>
            <groupId>cn.project</groupId>
            <artifactId>project-beans</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

    </dependencies>

    -- projectweb

<dependency>
    <groupId>cn.project</groupId>
    <artifactId>project-dao</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

    -- projectauth

<dependency>
    <groupId>cn.project</groupId>
    <artifactId>project-dao</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

--》检查子模块打包方式,Java子模块达成jar包,web子模块打成war包,如果不存在则分别添加

<packaging>jar</packaging><!-- java子模块-->
<packaging>war</packaging><!-- web子模块-->

--》检查总工程pom.xml文件的依赖关系

--》使用IDEA的web工程会缺少resources目录,因此需要创建并指定Resources目录

--》打开project-web-->src-->main--右键-->New-->Directory,创建resources目录

--》创建完成后如下:

--》点击project-web右键-->Open Module Setting

--》选择Modules-->projectweb-->指定Resources目录

--》project-auth操作同上,完成结构如下

--》完成

 pom文件中使用Maven私服

--》打开总工程pom.xml文件,添加一下代码(这里需注意的是如果使用私服,在常见web子模块是,不可指定archetypeCatalog属性,这点很重要,否则将无法发布项目到私服)

    <distributionManagement>
        <repository>
            <id>releases</id> <!-- Releases仓库的Repository ID-->
            <url>http://192.168.72.137:8081/nexus/content/repositories/releases/</url><!-- Releases仓库的Repository Path-->
        </repository>
        <snapshotRepository>
            <id>snapshots</id><!-- Snapshots仓库的Repository ID-->
            <url>http://192.168.72.137:8081/nexus/content/repositories/snapshots/</url><!-- Snapshots仓库的Repository Path-->
        </snapshotRepository>
    </distributionManagement>

 

 项目本地部署运行

--》添加projectweb项目tomcat运行环境

 

如果报错如下,且Deployment中木有Artifacts的选项

解决办法如下

-->File--Project Strucure

--》projectauth同理

--》修改欢迎页

--》启动projectauth

--》访问如下

--》完成

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丨Anna丨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值