Maven 基础总结篇

Maven是专门用于管理和构建Java项目的工具,它的主要功能有:

提供了一套标准化的项目结构:用于解决不同IDE(例如eclipse与IDEA)不同的项目结构的问题 提供了一套标准化的构建流程(编译,测试,打包,发布…) (软件生命周期) 提供了一套依赖管理机制:管理项目所依赖的第三方资源,例如jar包和插件

下载jar包 (项目对象)赋值jar包到项目将jar包加入到工作环境

仓库

本地仓库:本地保存jar包的仓库,在下面的链接中,在settings.xml中使用了 来配置本地仓库,优先访问本地仓库,本地仓库没有,再去远程仓库拉取。远程仓库:Maven的官方仓库: https://repo1.maven.org/maven2/ 用于拉取jar包

远程仓库(私人):由于远程仓库太远了,且有时需要用到自家公司不可公开的jar,所以一般公司需要建立自己的私人远程仓库,在settings.xml中使用了来配置远程私人仓库

Maven安装及配置

步骤:下载—>修改配置—>保存

详细步骤:MAVEN的安装与配置教程(超详细版)_maven安装及配置教程-CSDN博客

Maven基本使用

# 打开cmd 找到对应的路径

mvn compile ## 编译

mvn clean ## 清理

mvn test ## 测试

mvn package ## 打包

mvn install ## 安装

Maven生命周期

Mven构建项目生命周期描述的是一次构建过程经历经历了姦少个事件Maven对项目构建的生命周期划分为3套

clean:清理工作default:核心工作,例如编译,测试,打包,安装等site:产生报告,发布站点等注意:同一生命周期内,执行后边的命令,前边的所有命令会自动执行

IDEA中配置Maven

选择IDEA中File->Settings搜索maven (注意这里是小写)设置IDEA使用本地安装的Maven,并修改配置文件路径,在Maven home path中选择对应的Maven,在User settings file中选择对应的settings.xml文件

Maven坐标详解

什么是坐标?

Maven中的坐标是资源的唯一标识使用坐标来定义项目或引入项目中需要的依赖 Maven坐标主要组成

groupld:定义当前Maven.项目隶属组织名称(通常是域名反写,例如:com.itheima)artifactld:定义当前Maven.项目名称(通常是模块名称,例如order-service、goods-service)version:定义当前项目版本号

com.itheima

maven-demo

1.0-SNAPSHOT

mysql

mysql-connector-java

5.1.46

IDEA 创建Maven项目

创建模块,选择Maven,点击Next填写模块名称,坐标信息,点击finish,创建完成编写HelloWorld,并运行

IDEA导入Maven项目

选择右侧Maven面板,点击+号选中对应项目的pom.xml文件,双击即可如果没有Maveni面板,选择View→Appearance→Tool Window Bars

推荐插件:maven-helper,方便操作maven的编译等操作

依赖管理

在pom.xml中编写dependencies:标签在标签中使用引入坐标定义坐标的groupld,artifactld,version点击刷新按钮,使坐标生效

pom.xml文件的解释

com.itheima

maven-demo

1.0-SNAPSHOT

依赖添加方式

搜索添加 搜索mysql maven

选择mysql版本

选择Maven复制粘贴

选择刷新,将jar包拉进来

直接添加,直接在groupId中输入需要添加的依赖名称,例如mysql 按下快捷键Alt+insert,弹出Generate框,选择Dependency,搜索所需jar的关键字,点击add.添加jar包成功。 使用坐标导入jar包-自动导入,选择IDEA中File->Settings,在弹出的面板中找到Build Tools,选择Any changes,点击ok即可生效

依赖范围

通过设置坐标的依赖范围(scope),可以设置对应jar包的作用范围:编译环境、测试环境、运行环境

<----

scope的默认值是compile

------>

junit

junit

4.13

test

依赖范围编译classpath测试classpath运行classpath例子compileYYYlogbacktest-Y-JunitprovidedYY-servlet-apiruntime-YYjdbc驱动systemYY-存储在本地的jar包import引入DependencyManagement引入DependencyManagement引入DependencyManagement引入DependencyManagement

觉得有帮助的朋友,请帮我点赞或收藏,谢谢~

精彩文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: