【Maven】IDEA创建Maven项目 Maven配置

文章目录

简介

Maven 是一个非常流行的项目管理和构建自动化工具,主要应用于 Java 项目的构建、依赖管理和项目信息管理。它是由 Apache 软件基金会维护的开源项目。Maven 的设计理念是通过一个项目对象模型(Project Object Model, POM)来描述项目,并使用声明式的方式定义构建过程。

Maven就是是专门为 Java 项目打造的管理和构建工具,它的主要功能有:

  • 提供了一套标准化的项目结构;
  • 提供了一套标准化的构建流程(编译,测试,打包,发布......);
  • 提供了一套依赖管理机制。

官方下载地址: http://maven.apache.org/download.cgi

安装需要 Java 支持( JDK >= 1.7)

解压压缩包至目录,推荐安装位置:D:\apache-maven-3.5.2

tex 复制代码
bin:mvn的运行脚本
boot:mvn类加载器框架
conf:配置文件目录
lib:依赖类库

配置

环境变量

配置仓库

配置本地仓库

D:\apache-maven-3.5.2\conf\settings.xml

xml 复制代码
<localRepository>D:/MavenRepository/repository/</localRepository>

配置阿里云镜像仓库

由于中央存储库在国外,国内可能打不开,所以在 mirrors 标签中添加阿里云镜像仓库配置。

xml 复制代码
<mirror>
    <id>alimaven</id>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    <mirrorOf>*</mirrorOf>
</mirror>

测试安装

打开 cmd,输入 mvn -v

IDEA创建项目

关闭已打开的项目,进入IDEA全局配置界面。

配置Maven的路径和用户设置文件的位置

  • Maven home path: D:\apache-maven-3.5.2
  • User settings file: D:\apache-maven-3.5.2\conf\settings.xml

新建项目,选择 Maven Archetype,如下图所示(IDEA2023)。部署 Tomcat 步骤同 Javaweb 项目一样。

Maven 生命周期是一系列按顺序执行的阶段,用于完成项目的构建流程。

  • clean : 清理项目的工作目录,删除之前构建产生的临时文件。
  • validate: 验证项目的有效性,检查是否满足所有要求。
  • compile : 编译项目的源代码。
  • test : 执行单元测试,但不打包或安装任何东西。
  • package : 将已编译的代码打包成可发布的格式,如 JAR 或 WAR 文件。
  • verify: 在发布前对包进行验证,确保其符合所有标准。
  • install : 将包安装到本地仓库,使其可用于其他 Maven 项目作为依赖。
  • site: 生成项目的站点文档,通常包含关于项目的信息、报告和其他元数据。
  • deploy: 将包部署到远程仓库,使其他人可以通过网络访问该包。

除了生命周期之外,在 Maven 工具窗口还可以看到 "Plugins" 和 "Dependencies" 标签页,分别用于管理项目的插件和依赖项。

pom.xml

pom.xml 是 Maven 项目的核心配置文件,它包含了构建项目所需的所有信息,如依赖关系、构建目录、插件等。

项目描述

xml 复制代码
<!-- 指定当前 pom 的版本 -->
<modelVersion>4.0.0</modelVersion>
<!-- 公司或者组织的唯一标志,由此生成配置时生成的路径 -->
<groupId>org.example</groupId>
<!-- 项目的唯一 ID,一个 groupId 下面可能多个项目,就是靠 artifactId 来区分的 -->
<artifactId>maven01</artifactId>
<!-- 打包方式 一般为 jar、war、zip 或者 pom -->
<packaging>war</packaging>
<!-- 版本号 -->
<version>1.0-SNAPSHOT</version>
<!-- 项目描述名 -->
<name>maven01 Maven Webapp</name>
<!-- 项目官方网站地址, Apache Maven 官方网站地址示例 -->
<url>http://maven.apache.org</url>

引入 jar 包

xml 复制代码
<!-- 包含所有项目依赖的外部库 -->
<dependencies>
    <!-- 定义单独的依赖项 -->
    <dependency>
        <!-- 依赖项的组 ID,类似于 Java 包名 -->
        <groupId>junit</groupId>
        <!-- 依赖项的项目 ID,类似于 Java 类名 -->
        <artifactId>junit</artifactId>
        <!-- 依赖项的具体版本 -->
        <version>4.11</version>
        <!-- 依赖项的作用范围 -->
        <scope>test</scope>
    </dependency>
    <!-- 可以添加更多依赖项 -->
    <dependency>
    	......
    </dependency>
</dependencies>

scope 常见的作用范围包括:

  • compile:默认值,表示该依赖项在编译、测试和运行时都需要。
  • provided:表示该依赖项在编译和测试时需要,但在运行时由容器或其他系统提供。
  • runtime:表示该依赖项在运行时需要,但在编译时不需要。
  • test:表示该依赖项仅在测试时需要,不会被打包到最终的发布物中。
  • system:表示该依赖项需要从本地文件系统中获取,而不是从远程仓库下载。

jar搜索地址: https://mvnrepository.com/artifact/org.springframework(需验证)

详细说明: https://www.runoob.com/maven/maven-pom.html(菜鸟教程)

设置统一版本号

xml 复制代码
<!-- 设置版本号 -->
<properties>
    <srping.version>4.0.2.RELEASE</srping.version>
    <mybatis.version>3.2.8</mybatis.version>
    <slf4j.version>1.7.12</slf4j.version>
    <log4j.version>1.2.17</log4j.version>
</properties>

<!-- 引用版本号 -->
<version>${srping.version}</version>
相关推荐
张张张31216 分钟前
4.2学习总结 Java:list系列集合
java·学习
KATA~19 分钟前
解决MyBatis-Plus枚举映射错误:No enum constant问题
java·数据库·mybatis
xyliiiiiL35 分钟前
一文总结常见项目排查
java·服务器·数据库
shaoing37 分钟前
MySQL 错误 报错:Table ‘performance_schema.session_variables’ Doesn’t Exist
java·开发语言·数据库
腥臭腐朽的日子熠熠生辉1 小时前
解决maven失效问题(现象:maven中只有jdk的工具包,没有springboot的包)
java·spring boot·maven
ejinxian1 小时前
Spring AI Alibaba 快速开发生成式 Java AI 应用
java·人工智能·spring
杉之2 小时前
SpringBlade 数据库字段的自动填充
java·笔记·学习·spring·tomcat
圈圈编码2 小时前
Spring Task 定时任务
java·前端·spring
俏布斯2 小时前
算法日常记录
java·算法·leetcode
27669582922 小时前
美团民宿 mtgsig 小程序 mtgsig1.2 分析
java·python·小程序·美团·mtgsig·mtgsig1.2·美团民宿