【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>
相关推荐
怡人蝶梦2 小时前
Java后端技术栈问题排查实战:Spring Boot启动慢、Redis缓存击穿与Kafka消费堆积
java·jvm·redis·kafka·springboot·prometheus
瓯雅爱分享2 小时前
MES管理系统:Java+Vue,含源码与文档,实现生产过程实时监控、调度与优化,提升制造企业效能
java·mysql·vue·软件工程·源代码管理
鬼多不菜3 小时前
一篇学习CSS的笔记
java·前端·css
深色風信子3 小时前
Eclipse 插件开发 5.3 编辑器 监听输入
java·eclipse·编辑器·编辑器 监听输入·插件 监听输入
Blossom.1183 小时前
人工智能在智能健康监测中的创新应用与未来趋势
java·人工智能·深度学习·机器学习·语音识别
shangjg33 小时前
Kafka 如何保证不重复消费
java·分布式·后端·kafka
无处不在的海贼3 小时前
小明的Java面试奇遇之互联网保险系统架构与性能优化
java·面试·架构
Layux3 小时前
flowable候选人及候选人组(Candidate Users 、Candidate Groups)的应用包含拾取、归还、交接
java·数据库
Mylvzi3 小时前
Spring Boot 中 @RequestParam 和 @RequestPart 的区别详解(含实际项目案例)
java·spring boot·后端