7 Maven环境下构建多模块项目

7 Maven环境下构建多模块项目

使用maven 提供的多模块构建的特性完成maven 环境下多个模块的项目的管理与构建。

这里以四个模块为例来搭建项目,以达到通俗易懂的初衷

模块 maven_parent —– 基模块,就是常说的parent (pom)

模块 maven_dao —– 数据库的访问层,例如jdbc操作(jar)

模块 maven_service —– 项目的业务逻辑层 (jar)

模块 maven_controller —– 用来接收请求,响应数据 (war)

7.1 创建 maven_parent 项目

  1. 选择 File —> Settings —> Project

image-20210401144245208

  1. 设置 GroupId 和 ArtifactId

image-20210401144254312

  1. 设置项目名称及工作空间

image-20210401144302785

7.2 创建 maven_dao 模块

  1. 选择项目maven_parent,右键选择 New ,选择Module

image-20210401144310735

  1. 选择Maven项目的模板(普通 Java 项目)

image-20210401144318551

  1. 设置子模块的的 ArtifactId

image-20210401144328833

  1. 设置Maven的配置

image-20210401144334780

  1. 设置子模块的名称及存放位置

image-20210401144342317

7.3 创建 maven_service 模块

创建 maven_service 模块的步骤与 maven_dao模块一致。

 

7.4 建 maven_controller 模块

创建 maven_service 模块的步骤与 maven_dao模块基本一致,只需要将第一步选择Maven模板设置为web项目即可。(模板类型:maven-archetype-webapp)

 

模块全部创建完毕后,效果如下:

image-20210401144355913

7.5 修改模块的配置

  • 设置 JDK 版本

  • 单元测试 JUnit版本

  • 删除多余的配置

7.6 设置模块之间的依赖

7.6.1 maven_dao

  1. 新建包

image-20210401144445550

  1. 在包中创建 UserDao类

image-20210401144453720

image-20210401144500570

  1. 在类中添加方法

package com.xxxx.dao;

public class UserDao {

public static void testDao() {
System.out.println("UserDao Test...");
}
}

7.6.2 maven_service

  1. 添加maven_dao的依赖

<!-- 加入maven_dao模块的依赖 -->
<dependency>
<groupId>com.xxxx</groupId>
<artifactId>maven_dao</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
  1. 在项目中添加UserService类,并添加方法

package com.xxxx.service;

import com.xxxx.dao.UserDao;

public class UserService {

public static void testService() {
System.out.println("UserService Test...");
// 调用UserDao的方法
UserDao.testDao();
}
}

7.6.3 maven_controller

  1. 添加 maven_service 模块的依赖

<!-- 加入maven_service模块的依赖 -->
<dependency>
<groupId>com.xxxx</groupId>
<artifactId>maven_service</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
  1. 添加Servlet的依赖

<!-- Servlet的依赖 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
  1. 新建 Java 类,继承 HttpServlet 类,并重写 service方法

package com.xxxx.controller;
import com.xxxx.service.UserService;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/user")
public class UserServlet extends HttpServlet {

@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws
ServletException, IOException {
System.out.println("UserServlet Test...");
// 调用UserService层的方法
UserService.testService();
}
}
  1. 添加Tomcat插件

<!-- 添加插件 -->
<plugins>
<!-- tomcat7插件 -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<!-- <port>8080</port> -->
<path>/web</path>
<uriEncoding>UTF-8</uriEncoding>
<server>tomcat7</server>
</configuration>
</plugin>
</plugins>
  1. 启动项目

image-20210401144646610

  1. 访问项目 访问地址: http://localhost:8080/web/user 访问结果:

image-20210401144654170

  1. 如果启动失败,请先将父项目 install

image-20210401144714185

注:如果父项目 install 失败,则先将所有子模块 install 成功后,再 install 父项目。

posted @ 2021-05-08 11:53  孤独的小人物  阅读(215)  评论(0)    收藏  举报