从 01 开始 从 01 开始
首页
  • 📚 计算机基础

    • 计算机简史
    • 数字电路
    • 计算机组成原理
    • 操作系统
    • Linux
    • 计算机网络
    • 数据库
    • 编程工具
    • 装机
  • 🎨 前端

    • Node
  • JavaSE
  • Java 高级
  • JavaEE

    • 构建、依赖管理
    • Ant
    • Maven
    • 日志框架
    • Junit
    • JDBC
    • XML-JSON
  • JavaWeb

    • 服务器软件
    • 环境管理和配置管理-科普篇
    • Servlet
  • Spring

    • Spring基础
  • 主流框架

    • Redis
    • Mybatis
    • Lucene
    • Elasticsearch
    • RabbitMQ
    • MyCat
    • Lombok
  • SpringMVC

    • SpringMVC 基础
  • SpringBoot

    • SpringBoot 基础
  • Windows 使用技巧
  • 手机相关技巧
  • 最全面的输入法教程
  • 最全面的浏览器教程
  • Office
  • 图片类工具
  • 效率类工具
  • 最全面的 RSS 教程
  • 码字工具
  • 各大平台
  • 校招
  • 五险一金
  • 职场规划
  • 关于离职
  • 杂谈
  • 自媒体
  • 📖 读书

    • 读书工具
    • 走进科学
  • 🌍 英语

    • 从零开始学英语
    • 英语兔的相关视频
    • Larry 想做技术大佬的相关视频
  • 🏛️ 政治

    • 反腐
    • GFW
    • 404 内容
    • 审查与自我审查
    • 互联网
    • 战争
    • 读书笔记
  • 💰 经济

    • 关于税
    • 理财
  • 💪 健身

    • 睡眠
    • 皮肤
    • 口腔健康
    • 学会呼吸
    • 健身日志
  • 🏠 其他

    • 驾驶技能
    • 租房与买房
    • 厨艺
  • 电影

    • 电影推荐
  • 电视剧
  • 漫画

    • 漫画软件
    • 漫画推荐
  • 游戏

    • Steam
    • 三国杀
    • 求生之路
  • 小说
  • 关于本站
  • 关于博主
  • 打赏
  • 网站动态
  • 友人帐
  • 从零开始搭建博客
  • 搭建邮件服务器
  • 本站分享
  • 🌈 生活

    • 2022
    • 2023
    • 2024
    • 2025
  • 📇 文章索引

    • 文章分类
    • 文章归档

晓林

程序猿,自由职业者,博主,英语爱好者,健身达人
首页
  • 📚 计算机基础

    • 计算机简史
    • 数字电路
    • 计算机组成原理
    • 操作系统
    • Linux
    • 计算机网络
    • 数据库
    • 编程工具
    • 装机
  • 🎨 前端

    • Node
  • JavaSE
  • Java 高级
  • JavaEE

    • 构建、依赖管理
    • Ant
    • Maven
    • 日志框架
    • Junit
    • JDBC
    • XML-JSON
  • JavaWeb

    • 服务器软件
    • 环境管理和配置管理-科普篇
    • Servlet
  • Spring

    • Spring基础
  • 主流框架

    • Redis
    • Mybatis
    • Lucene
    • Elasticsearch
    • RabbitMQ
    • MyCat
    • Lombok
  • SpringMVC

    • SpringMVC 基础
  • SpringBoot

    • SpringBoot 基础
  • Windows 使用技巧
  • 手机相关技巧
  • 最全面的输入法教程
  • 最全面的浏览器教程
  • Office
  • 图片类工具
  • 效率类工具
  • 最全面的 RSS 教程
  • 码字工具
  • 各大平台
  • 校招
  • 五险一金
  • 职场规划
  • 关于离职
  • 杂谈
  • 自媒体
  • 📖 读书

    • 读书工具
    • 走进科学
  • 🌍 英语

    • 从零开始学英语
    • 英语兔的相关视频
    • Larry 想做技术大佬的相关视频
  • 🏛️ 政治

    • 反腐
    • GFW
    • 404 内容
    • 审查与自我审查
    • 互联网
    • 战争
    • 读书笔记
  • 💰 经济

    • 关于税
    • 理财
  • 💪 健身

    • 睡眠
    • 皮肤
    • 口腔健康
    • 学会呼吸
    • 健身日志
  • 🏠 其他

    • 驾驶技能
    • 租房与买房
    • 厨艺
  • 电影

    • 电影推荐
  • 电视剧
  • 漫画

    • 漫画软件
    • 漫画推荐
  • 游戏

    • Steam
    • 三国杀
    • 求生之路
  • 小说
  • 关于本站
  • 关于博主
  • 打赏
  • 网站动态
  • 友人帐
  • 从零开始搭建博客
  • 搭建邮件服务器
  • 本站分享
  • 🌈 生活

    • 2022
    • 2023
    • 2024
    • 2025
  • 📇 文章索引

    • 文章分类
    • 文章归档
  • JavaSE

  • JavaSenior

  • JavaEE

    • JavaEE 概念

    • Ant

    • Maven

      • 什么是 Maven
      • 安装Maven
      • 第一个 Maven 项目
      • Maven 的组成和配置
      • 快速创建 Maven 项目
        • 通过骨架来创建 Maven 项目
        • IDEA 创建 Maven 项目
        • IDEA 集成 Maven
        • 小结
      • 创建 Web 项目
      • Maven 的生命周期和构建
      • Maven 的依赖管理
      • Maven 的插件管理
      • IDEA 关于 Maven 的设置
      • 使用 Maven 完成 dao 层
      • 使用 Maven 完成 service 层
      • 使用 Maven 完成 web 层
      • Maven 的拆分和聚合
      • Nexus 的搭建
      • Nexus 的使用
      • 安装第三方 jar 包到私服
      • Maven 系列完结
    • 日志

    • Junit

    • JDBC

    • XML 和 JSON

  • JavaWeb

  • Spring

  • 主流框架

  • SpringMVC

  • SpringBoot

  • Java
  • JavaEE
  • Maven
2023-05-15
目录

快速创建 Maven 项目

# 35.快速创建 Maven 项目

本文来讲将如何快速创建 Maven 项目,包括骨架和 IDEA 的配置。 ‍

# 通过骨架来创建 Maven 项目

之前,我们手动创建了一个文件夹,并手工创建了 pom.xml 和各个文件夹;如果是大型一点的项目,需要创建的文件夹更多,这种手工操作也容易出错,而且令人感到厌烦:第一次创建项目骨架的时候,你可能还会饶有兴趣地去体会这些默认约定背后的思想,第二次,第三次,你也许还会满意自己的熟练程度,但第四、第五次做同样的事情,你可能就会烦躁了。 ‍ Maven 提供了很多的骨架模板,可以通过命令行来快速选择模板来创建项目,省去不少创建文件夹的功夫。

我们新创建一个文件夹:2-mvnGenerate,然后打开命令行,然后输入 mvn archetype: generate 进行创建。此命令会有些交互信息,会提示输入 groupid、artifactId、packageName 等信息,部分输出如下:

> mvn archetype:generate
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------< org.apache.maven:standalone-pom >-------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] >>> maven-archetype-plugin:3.2.0:generate (default-cli) > generate-sources @ standalone-pom >>>
[INFO]
[INFO] <<< maven-archetype-plugin:3.2.0:generate (default-cli) < generate-sources @ standalone-pom <<<
[INFO]
[INFO]
[INFO] -- maven-archetype-plugin:3.2.0:generate (default-cli) @ standalone-pom ---
[INFO] Generating project in Interactive mode
1
2
3
4
5
6
7
8
9
10
11
12
13
14

最后一行告诉我们,正在通过交互模式来创建项目(Interactive 意为交互的)。 ‍ 然后我们会遇到以下几个选项:

Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 1997:
1

这是要用户选择创建什么类型的项目,也就是选择什么模板,例如 web 项目的模板、命令行项目的模板等等,Maven 会根据选择将项目的基本框架搭建好。我们先直接选择默认的项目(直接按回车) ‍ 我们默认是选择了 maven-archetype-quickstart 这个模板,接下来这是让我们选择骨架的版本,我们还是选默认的,直接回车即可

Choose org.apache.maven.archetypes:maven-archetype-quickstart version:
1: 1.0-alpha-1
2: 1.0-alpha-2
3: 1.0-alpha-3
4: 1.0-alpha-4
5: 1.0
6: 1.1
7: 1.3
8: 1.4
Choose a number: 8:
1
2
3
4
5
6
7
8
9
10

‍ 接下来让我们输入 groupId,artifactId,version 和 package,并让我们确认输入的信息是否正确。我们确认完后按回车

Define value for property 'groupId': com.peterjxl.learnmvn
Define value for property 'artifactId': hello-world
Define value for property 'version' 1.0-SNAPSHOT: :
Define value for property 'package' com.peterjxl.learnmvn: :
Confirm properties configuration:
groupId: com.peterjxl.learnmvn
artifactId: hello-world
version: 1.0-SNAPSHOT
package: com.peterjxl.learnmvn
 Y: :
1
2
3
4
5
6
7
8
9
10

‍ 接下来就会创建项目了,第 15 行告诉我们创建成功了。

[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Archetype: maven-archetype-quickstart:1.4
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.peterjxl.learnmvn
[INFO] Parameter: artifactId, Value: hello-world
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: package, Value: com.peterjxl.learnmvn
[INFO] Parameter: packageInPathFormat, Value: com/peterjxl/learnmvn
[INFO] Parameter: package, Value: com.peterjxl.learnmvn
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: groupId, Value: com.peterjxl.learnmvn
[INFO] Parameter: artifactId, Value: hello-world
[INFO] Project created from Archetype in dir: D:\Projects\LearnJava\03.JavaEE\Maven\2-mvnGenerate\hello-world
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  06:58 min
[INFO] Finished at: 2023-01-09T07:31:05+08:00
[INFO] ------------------------------------------------------------------------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

我们看看当前的目录结构:

2-mvnGenerate
└── hello-world
    ├── pom.xml
    └── src
        ├── main
        │   └── java
        │       └── com
        │           └── peterjxl
        │               └── learnmvn
        │                   └── App.java
        └── test
            └── java
                └── com
                    └── peterjxl
                        └── learnmvn
                            └── AppTest.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

‍ 可以看到帮我们创建了 pom.xml,和 src 目录。

也可以一步到位,直接在命令行里指定这些信息:

mvn org.apache.maven.plugins:maven-archetype-plugin:3.2.1:creat -DgroupId=com.peterjxl.learnmvn -DartifactId=hello-world -DpackageName=com.peterjxl.learnmvn
1

我们其实还可以自定义骨架,这里不展开讨论。

# IDEA 创建 Maven 项目

‍ 一般使用 IDE 的情况下,也可以指定骨架来创建 Maven,以 IDEA 2023.1 为例

由于骨架模板有很多很多,我们可以切换输入法为英文,然后直接在列表里输入模板的部分名字,例如 quickestart,就可以显示搜索结果

# IDEA 集成 Maven

我们可以用命令行来使用 Maven,但相信大部分人都会用到 IDE,其实 IDE 配置好 Maven 后,后续使用 Maven 还是使用 Maven 提供的命令,希望读者能重点学习怎么用命令行使用 Maven。

由于 Maven 实在是太过流行,几乎是标配,目前几乎所有主流的 IDE 都内置了 Maven,或者提供了一些插件来使用 Maven,例如 IDEA,Eclipse 和 NetBeans;推荐读者都修改为自己电脑安装的 Maven,将配置掌握在自己手中

这里以 IDEA 为例,其他 IDE 的修改也大同小异,不再赘述

首先打开设置(快捷键 Ctrl+Shift+S)

在设置里找到构建--Maven,并选择 Maven 主路径为我们自己安装的 Maven(默认情况下,IDEA 会用自己内置的 Maven,Bundld 有内置的意思)

并且设置配置文件,由于我电脑只有我自己用,因此我直接设置了全局的配置文件。

‍

然后本地仓库会根据配置文件的内容自动修正,如果没能修正可以自行修正(选后面的重写然后选目录) ‍

# 小结

我们经常需要创建项目,不管是自己学习时搭建一个项目,还是公司里开发项目。创建项目是基本功了

上次更新: 2025/6/3 09:31:54
Maven 的组成和配置
创建 Web 项目

← Maven 的组成和配置 创建 Web 项目→

最近更新
01
语雀文档一键下载至本地教程
07-04
02
要成功,就不要低估环境对你的影响
07-03
03
血泪教训:电子设备要定期开机
07-02
更多文章>
Theme by Vdoing | Copyright © 2022-2025 | 粤 ICP 备 2022067627 号 -1 | 粤公网安备 44011302003646 号 | 点击查看十年之约
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式