【Spring Boot 初识丨二】maven

上一篇讲了使用spirngboot 自带的构建器构建项目
本篇来讲一讲如何从零开始构建一个maven项目

前提:
jdk 推荐 java17及以上
maven 推荐 Maven 3.5+

maven构建

  • 一、 安装maven
    • 1. 下载
    • 2. settings.xml
  • 二、 构建maven项目
    • 2.1 创建项目
    • 2.2 配置maven
    • 2.3 pom.xml

一、 安装maven

  Maven的安装需要依赖JDK的安装,所以必须先安装完成JDK且配置好JDK环境变量后在进行Maven的安装。

1. 下载

  官网下载:
    最新版:
【Spring Boot 初识丨二】maven_第1张图片
    历史版本:
【Spring Boot 初识丨二】maven_第2张图片
点击上面的 ‘Maven 3 archives’在这个里边找自己需要的版本
【Spring Boot 初识丨二】maven_第3张图片
下载完了之后解压缩 然后将Maven的bin目录添加到环境变量中。
输入mvn -v命令,如果能够输出Maven的版本信息如下图,则说明安装成功。
在这里插入图片描述

2. settings.xml

  安装完毕之后 配置settings.xml

  • 设置Maven本地仓库路径:在settings.xml文件中修改localRepository节点 如下图:
    在这里插入图片描述

  • 添加国内镜像源:在settings.xml文件中修改mirrors节点 如下图:
    【Spring Boot 初识丨二】maven_第4张图片
      上文添加的是阿里云中央仓库的镜像 可以根据自己的需要自行加镜像

  • 修改Maven默认的JDK版本:在settings.xml文件中profiles节点之间添加jdk版本 如下图:
    【Spring Boot 初识丨二】maven_第5张图片


二、 构建maven项目

2.1 创建项目

  上述的准备工作做完了之后开始创建 maven 项目 。
点击 ‘create new project’ 选择maven项目 然后一路next 起个项目名点击完成即可。
【Spring Boot 初识丨二】maven_第6张图片

2.2 配置maven

打开项目之后配置maven
配置maven(File | Settings | Build, Execution, Deployment | Build Tools | Maven )
配置 maven路径 使用的配置文件还有本地仓库的位置 这三项 如下图:
【Spring Boot 初识丨二】maven_第7张图片

2.3 pom.xml

在打开的项目下面创建一个简单的子目录结构 如下:

└── src
   └── main
     └── java
       └── demo

在项目根目录下的pom.xml文件添加如下内容


<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.0modelVersion>
    <parent>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-parentartifactId>
        <version>3.1.0version>
        <relativePath/> 
    parent>
    <groupId>org.examplegroupId>
    <artifactId>mavenDemoartifactId>
    <packaging>jarpackaging>
    <version>1.0-SNAPSHOTversion>
    <name>mavenDemoname>
    <description>Maven Demo project for Spring Bootdescription>
    <properties>
        <java.version>8java.version>
    properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>

        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-testartifactId>
            <scope>testscope>
        dependency>
    dependencies>

    <build>
        <plugins>
        	
            <plugin>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-maven-pluginartifactId>
            plugin>























    build>

project>

modelVersion:POM 模型版本(始终为 4.0.0)。

groupId: 项目所属的组或组织。通常表现为倒置域名。

artifactId: 项目名称(例如,其 JAR 或 WAR 文件的名称)。

version : 正在构建的项目的版本。

packaging : 项目应该如何打包。JAR 文件打包默认为“jar”。WAR文件打包使用“war”。

description :项目描述 可写可不写

java.version : 项目的jdk版本

SpringBoot 自带的打包插件

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-maven-pluginartifactId>
            plugin>
        plugins>
    build>

继承 Starter Parent POM
将项目配置为继承自spring-boot-starter-parent,parent

<parent>
	<groupId>org.springframework.bootgroupId>
	<artifactId>spring-boot-starter-parentartifactId>
	<version>3.1.0-SNAPSHOTversion>
parent>

不从Parent 继承使用Spring Boot POM
可以通过使用import范围依赖来保持依赖管理(但不是插件管理)的好处

<dependencyManagement>
    <dependencies>
        <dependency>
            
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-dependenciesartifactId>
            <version>3.1.0-SNAPSHOTversion>
            <type>pomtype>
            <scope>importscope>
        dependency>
    dependencies>
dependencyManagement>

自动重启
重新编译应用程序时检测到更改 Spring Boot应用可以自动重启

<dependencies>
    <dependency>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-devtoolsartifactId>
        <optional>trueoptional>
    dependency>
dependencies>

【Spring Boot 初识丨二】maven_第8张图片

  如果喜欢的话,欢迎 关注 点赞 评论 收藏  一起讨论
  你的评价就是我✍️创作的动力!					  

你可能感兴趣的:(#,Spring,Boot,学习总结,maven,spring,boot,java)