水生的网络日志 水生的网络日志
首页
  • 前言
  • Java核心
  • 企业级开发
  • 数据库
  • 计算机基础
  • 求职面试
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 分类
  • 标签
  • 归档
关于
GitHub (opens new window)

水生

记录我的所思、所学、所想
首页
  • 前言
  • Java核心
  • 企业级开发
  • 数据库
  • 计算机基础
  • 求职面试
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 分类
  • 标签
  • 归档
关于
GitHub (opens new window)
  • 前言

  • Java核心

  • 企业级开发

    • Spring Boot开发

      • 创建Maven父子项目
        • 父子-聚合项目介绍
        • 新建父项目
          • 打开Idea启动界面,选择New Project选项
          • 选择Maven项目
          • 配置项目参数
          • maven配置
          • 创建成功
          • 修改pom文件
        • 创建子项目
          • 右键父项目创建maven子模块
          • 创建test-parent-hutool子项目
        • 父子项目目录
          • 父项目pom.xml文件
          • 子项目pom.xml文件
        • 测试Hutool
        • 同步到Github
          • 本地初始化仓库
          • 创建Github远程仓库
          • 本地与远程仓库的映射
        • 参考文档
      • Spring Boot整合MyBatis
      • Spring Boot整合Swagger
      • Spring Boot整合Redis实现缓存验证码
      • Spring Boot整合Spring Sercurity和JWT
      • Spring Boot整合Spring Task实现定时任务
      • Spring Boot整合ElasticSearch实现商品搜索
      • Spring Boot整合MongoDB实现文档操作
      • Spring Boot整合RabbitMQ实现延迟消息
    • Spring Cloud开发

  • 数据库

  • 计算机基础

  • 求职面试

  • 知识库
  • 企业级开发
  • Spring Boot开发
水生
2018-12-23
目录

创建Maven父子项目

# 父子-聚合项目介绍

通过 maven 可以创建父子-聚合项目。 所谓的父子项目,即有一个父项目,有多个子项目。 这些子项目,在业务逻辑上,都归纳在这个父项目下,并且一般来说,都会有重复的jar包共享。 所以常用的做法会把重复的 jar 包都放在父项目下进行依赖,那么子项目就无需再去依赖这些重复的 jar 包了。

# 新建父项目

# 打开Idea启动界面,选择New Project选项

注意:如果软件启动不是这个界面,可以在File -> New Project选项

image-20211223163757107

# 选择Maven项目

  1. 左边选择Maven
  2. 勾选Create from archetype
  3. 选择org.apache.maven.archetypes:maven-archetype-quickstart
  4. Next
image-20211223164524229

Tips:

  1. 为什么使用create from archetype ?

    Maven 使用archetype(原型) 来创建自定义的项目结构,形成 Maven 项目模板。

    archetype也就是原型,是一个 Maven 插件,准确说是一个项目模板,它的任务是根据模板创建一个项目结构。

  2. 需要注意的点
    

​ 不要混淆org.apache.maven.archetypes:maven-archetype-quickstart和org.apache.wicket:wicket-archetype-quickstart。

# 配置项目参数

image-20211223165333400

# maven配置

  1. 选择本地的maven和相关配置
  2. 点击Finish
image-20211223165445420

# 创建成功

image-20211223165717478

# 修改pom文件

项目由于使用的模板创建,创建成功后,pom.xml文件会产生较多不相干文件。因此,需要对pom.xml文件按照自己的需求修改如下。

  1. 将打包方式修改成pom;
  2. 添加juit和hutool依赖,主要用于后面的测试。
<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>edu.sueu</groupId>
  <artifactId>mall-practice</artifactId>
  <version>1.0-SNAPSHOT</version>
  <name>mall-practice</name>
  <description>mall-practice主要是对开源项目的一个学习记录</description>
  <packaging>pom</packaging>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>

    <!-- 引入hutool工具包 -->
    <dependency>
      <groupId>cn.hutool</groupId>
      <artifactId>hutool-all</artifactId>
      <version>5.7.17</version>
    </dependency>
  </dependencies>
</project>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

# 创建子项目

# 右键父项目创建maven子模块

所谓的子项目,其实是maven module. 右键点击parentMavenProject->New->Module.

image-20211223171151450

# 创建test-parent-hutool子项目

  • image-20211223182058753
  • image-20211223182146072
  • image-20211223182252049

# 父子项目目录

# 父项目pom.xml文件

父项目就在原先的基础上多了一个<modules>

...
	<groupId>edu.sueu</groupId>
  <artifactId>mall-practice</artifactId>
  <version>1.0-SNAPSHOT</version>
  <modules>
    <module>test-parent-hutool</module>
  </modules>
...
1
2
3
4
5
6
7
8

# 子项目pom.xml文件

子项目的指明了父项目为mall-practice

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>mall-practice</artifactId>
        <groupId>edu.sueu</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>test-parent-hutool</artifactId>
    <packaging>jar</packaging>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

</project>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

# 测试Hutool

在子项目下,创建TestHutool类,主要是测试父项目已经引用的依赖包Hutool

image-20211223182836949

# 同步到Github

通过将项目同步到github,主要是起到一个云备份的作用。

# 本地初始化仓库

image-20211223190357676
git init --initial-branch=main  # 初始化当前文件问git仓库,并指定分支名为main,因为要与远程连接的github默认创建的分支名main匹配
git status # 查看当前仓库文件提交状态
git add .  # 将所有文件提到到仓库暂存区
git commit -m "项目初始化"  # 将所有暂存区文件提交到当前分支
1
2
3
4

# 创建Github远程仓库

image-20211223191315616

# 本地与远程仓库的映射

git remote add origin <新建远程仓库地址>
git push -u origin main
1
2

Tips:

  • 由于我们在初始化项目时,已经创建了分支名为main,因此可以直接进行提交。
  • 加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

# 参考文档

  1. idea父子项目 (opens new window)
编辑 (opens new window)
#Spring Boot#Maven
上次更新: 2022/11/26, 22:18:38
Java基础编程模型
Spring Boot整合MyBatis

← Java基础编程模型 Spring Boot整合MyBatis→

最近更新
01
基于微服务案例的Maven实战
05-08
02
使用Seata彻底解决Spring Cloud中的分布式事务问题
11-26
03
Spring Boot整合RabbitMQ实现延迟消息
11-26
更多文章>
Theme by Vdoing | Copyright © 2019-2022 水生 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式