当前位置: 首页 > article >正文

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

文章目录

    • 简介
    • 配置
      • 环境变量
      • 配置仓库
      • 测试安装
    • IDEA创建项目
    • pom.xml

简介

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

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

配置

环境变量

在这里插入图片描述

在这里插入图片描述

配置仓库

配置本地仓库

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

<localRepository>D:/MavenRepository/repository/</localRepository>

配置阿里云镜像仓库

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

<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 项目的核心配置文件,它包含了构建项目所需的所有信息,如依赖关系、构建目录、插件等。

项目描述

<!-- 指定当前 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 包

<!-- 包含所有项目依赖的外部库 -->
<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(菜鸟教程)

设置统一版本号

<!-- 设置版本号 -->
<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>

http://www.kler.cn/a/404127.html

相关文章:

  • 推荐一款专业电脑护眼工具:CareUEyes Pro
  • 基于深度卷积神经网络(CNN)模型的图像着色研究与应用系统实现
  • batchnorm与layernorn的区别
  • 实验室管理效率提升:Spring Boot技术的力量
  • STM32与CS创世SD NAND(贴片SD卡)结合完成FATFS文件系统移植与测试是一个涉及硬件与软件综合应用的复杂过程
  • 【docker】docker commit 命令 将当前容器的状态保存为一个新的镜像
  • ssm框架-spring-spring声明式事务
  • Spring Boot实验室管理系统:高效科研管理解决方案
  • HBase Flink操作
  • 详解Rust枚举类型(enum)的用法
  • 第十二章 Shell脚本编写实战
  • Java项目实战II基于微信小程序的农场驿站平台(开发文档+数据库+源码)
  • 第三代指标平台相较于前两代的显著优势分析
  • 太阳能激光驱鸟器的工作原理是什么,对鸟类有无影响?
  • android MQTT使用示例
  • 网络云计算】2024第47周-每日【2024/11/21】周考-实操题-RAID6实操解析1
  • Easyexcel(5-自定义列宽)
  • 库卡机器人维护需要注意哪些事项
  • C#桌面应用制作计算器进阶版02
  • Stable Diffusion中U-Net的前世今生与核心知识
  • 【Ubuntu】如何在Ubuntu系统中查看端口是否可用
  • VIM的下载使用与基本指令【入门级别操作】
  • Java基础终章篇(10)容器类与集合操作
  • 小熊派Nano接入华为云
  • Linux环境开启MongoDB的安全认证
  • 实验室管理自动化:Spring Boot技术的应用