首页 > 其他分享 >1.Maven入门

1.Maven入门

时间:2023-01-08 19:58:50浏览次数:58  
标签:maven 入门 仓库 jar IDEA Maven 坐标

Maven入门

笔记目录:(https://www.cnblogs.com/wenjie2000/p/16378441.html)

视频教程(P42~P46)

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

提供了一套标准化的项目结构

提供了一套标准化的构建流程(编译,测试,打包,发布…...)

提供了一套依赖管理机制

  • 标准化的项目结构

    Maven提供了一套标准化的项目结构,所有IDE(eclipse,idea,myeclipse这类软件)使用Maven构建的项目结构完全一样,所有IDE创建的Maven项目可以通用

  • 标准化的构建流程

  • 依赖管理

    依赖管理其实就是管理你项目所依赖的第三方资源(jar包、插件...)

Maven简介

  • Apache Maven是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档
  • 官网: http://maven.apache.org/

Maven模型:

  • 仓库分类:

    本地仓库:自己计算机上的一个目录

    中央仓库:由Maven团队维护的全球唯一的仓库 (地址: https://repo1.maven.org/maven2/)

    远程仓库(私服):一般由公司团队搭建的私有仓库(国内由于网络原因,一般使用一些企业搭建的开放的私服)

  • 当项目中使用坐标引入对应依赖jar包后,首先会查找本地仓库中是否有对应的jar包:

    如果有,则在项目直接引用;

    如果没有,则去中央仓库中下载对应的jar包到本地仓库。

  • 还可以搭建远程仓库,将来jar包的查找顺序则变为:

    本地仓库→远程仓库→中央仓库(本地仓库会在远程仓库中找jar包。如果远程仓库中没有,远程仓库会到中央仓库中去下载该jar包)

Maven安装配置

安装过程比较简单。考虑到看这篇博客的人曾经安装过jdk和mysql,安装过程类同理。这里就只是粗略描述一下,就不放操作截图了。如果不清楚可自行百度。

下载地址(根据自己情况选择版本):https://archive.apache.org/dist/maven/maven-3/

  1. 下载并解压apache-maven-3.6.3-bin.zip

  2. 新建系统变量MAVEN_HOME(bin文件夹所在目录,例如:D:\apache-maven-3.6.3)

  3. 在Path中新建环境变量%MAVEN_HOME%\bin

  4. 在cmd中输入mvn -version,如果出现版本信息则环境变量配置成功

  5. 配置本地仓库:修改conf/settings.xml中的<localRepository>为一个指定目录 (可根据自己喜好设置仓库位置)

    <localRepository>D:\maven-repository</localRepository>
    
  6. 配置阿里云私服:修改conf/settings.xml中的<mirrors>标签,为其添加如下子标签:

    <!--配置阿里云私服-->
    <mirror>
            <id>nexus-aliyun</id>
            <mirrorOf>central</mirrorOf>
            <name>Nexus aliyun</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public</url>
        </mirror>
    

Maven基本使用

Maven常用命令

如果要手动执行,需要在pom.xml文件夹下,在地址栏输入cmd,回车。

以下命令都需要在前面加“mvn”,例如:mvn compile 为执行编译的命令

  • compile:编译 -> 生成class文件,位于target文件夹
  • clean:清理 -> 删除target文件夹
  • package:打包 -> 将项目打包为文件,文件位于target文件夹下
  • test:测试 -> 执行test\java文件夹中的代码
  • install:安装 -> 把打包好的文件存放到本地仓库

Maven生命周期

  • Maven构建项目生命周期描述的是一次构建过程经历经历了多少个事件

  • Maven对项目构建的生命周期划分为3套

    clean:清理工作

    default:核心工作,例如编译,测试,打包,安装等

    site(不常用):产生报告,发布站点等

同一生命周期内,执行后边的命令,前边的所有命令会自动执行(例如执行install,maven会自动执行complie、test和package,否则不能执行install)

IDEA配置Maven

IDEA配置Maven环境

  1. 选择IDEA中 File --> Settings

  2. 搜索 maven

  3. 设置IDEA使用本地安装的Maven,并修改配置文件路径(路径根据自己实际情况,我的路径仅供参考)(修改配置文件和本地仓库目录需要选中Override)

Maven坐标详解

  • 什么是坐标?

    Maven 中的坐标是资源的唯一标识

    使用坐标来定义项目或引入项目中需要的依赖

  • Maven 坐标主要组成

    groupld:定义当前Maven项目隶属组织名称(通常是域名反写,例如: com.itheima)

    artifactld:定义当前Maven项目名称(通常是模块名称,例如order-service、goods-service)

    version:定义当前项目版本号

    <groupId>com.example</groupId>
    <artifactId>javaweb01</artifactId>
    <version>1.0-SNAPSHOT</version>
    
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.9</version>
    </dependency>
    

IDEA创建Maven项目

IDEA界面中:左上角 File(文件)-->New(新建)-->Project...(项目)

选择maven

各种信息根据自己情况修改

创建成功

IDEA导入Maven项目

点击右侧Maven,点击+号

找到一个maven项目的pom.xml文件,再点击OK

左侧就出现了刚刚导入的maven项目

配置Maven-Helper插件

IDEA能够执很方便地执行maven的常用命令,位置如下图所示(直接点击就能执行):

Maven-Helper这个插件能够使用户更加方便的执行maven命令。相较于IDEA自带的,它还能进行Debug。(看自己喜好,不是必须安装)

Maven-Helper安装步骤:

  1. 选择IDEA中 File --> Settings
  2. 选择 Plugins
  3. 搜索 Maven,选择第一个Maven Helper,点击Install安装,弹出面板中点击Accept
  4. 重启IDEA

依赖管理

使用坐标导入jar包

  1. 在pom.xml中编写<dependencies>标签

  2. 在<dependencies>标签中使用<dependency>引入坐标

  3. 定义坐标的groupld,artifactld,version

    其中的坐标信息有相关的网站可供查找:https://mvnrepository.com/

    此处以MySQL5.7的驱动为例:

    搜索mysql,选择第一个

    选择自己需要的版本(一般是找一个用的频率比较高的)

    其中就有需要的坐标信息(如果版本不兼容,只需要手动修改版本号)

    就可以将坐标信息复制到pom.xml文件中

  4. 点击刷新按钮,使坐标生效

    如果出现以下出现红色,是因为本地仓库中没有这个包,点击右上角的“m”就会使该配置文件生效,会自动下载需要的包(也可以设置不需要点击自动生效,方法自行百度。)

如果本地仓库已经下载了该jar包可以使用 Alt+Insert,然后点击Dependency

然后就可以搜索本地的包进行添加。点击Add就能帮你写好

依赖范围

  • 通过设置坐标的依赖范围(scope),可以设置对应jar包的作用范围:编译环境(src/main/java/)、测试环境(src/test/java/)、运行环境(最终使用时)

标签:maven,入门,仓库,jar,IDEA,Maven,坐标
From: https://www.cnblogs.com/wenjie2000/p/17035082.html

相关文章

  • Day-2入门
    类的基本定义定义publicclass:类名称和文件名称必须保持一致定义class:类名称可以与文件名不一致定义多个class:在一个*.java文件里可以有多个class定义,编译后会形成不同......
  • ssh弱口令爆破(入门第一课)
    免责声明本文章仅供参考与学习网络安全提供思路,禁止用于违法行为;本文禁止以任何形式转载;原创为博客园狐小妖;违法行为将由使用者与转载者负责,与原创者无关;阅读本文即同......
  • 学习笔记——在IDEA中创建Maven工程之HelloWord;Maven中常见的问题;Maven核心概念之POM
    2023-01-08一、在IDEA中创建Maven工程之HelloWord(1)新建一个Maven工程  最后点击“finish”,完成项目创建(2)在创建的项目下,选中“maven_demo”,右击新建“Module”,选......
  • Python笔记——字符串(Python编程:从入门到实践)
    字符串一、使用方法修改字符串大小写1.方法:变量.tittle():首字母大学显示字符串中的每个英文单词2.方法:变量.upper():字符串全改为大写3.方法:变量.lower():将字符串全......
  • 学习笔记——Maven的基本配置、Maven基本使用、将Maven整合到IDEA中
    2023-01-08一、Maven的基本配置(1)maven配置文件位置maven根目录/conf/settings.xml①设置本地仓库默认的本地仓库是在“C:\Users\Lenovo\.m2\repository”中,第一次安装......
  • Unity 2D入门基础教程
    http://www.raywenderlich.com/61532/unity-2d-tutorial-getting-started,作者:ChristopherLaPollo,由Xiaoke翻译,如果用以前版本的Unity做2D游戏,虽然能做,但是......
  • DevOps实战系列【第五章】:基于Gitlab/Maven/Jenkins/Docker实战案例详解
    个人亲自录制全套DevOps系列实战教程:​​手把手教你玩转DevOps全栈技术​​从创建Jenkins的job开始1.gitlab设置:我们从新建一个jenkins任务开始,建一个自由风格项目,我们暂时......
  • .PNG读写与图像缩放入门
    小图片: IfranView:   IrfanView是免费软件但不开源。下面的程序读入small.png,用最简单的方法放大,然后写入big.png:/*https://www.nongnu.org/pngpp/在libpng上包......
  • DevOps实战系列【第三章】:详解Maven仓库及环境搭建
    个人亲自录制全套DevOps系列实战教程:​​手把手教你玩转DevOps全栈技术​​Maven私有仓库,就不多说了,我们这里选用最新的Nexus3的3.17版本,平时公司使用的都是Nexus2.x,新的......
  • 极客编程python入门-hmac/urllib
    hmacHmac算法针对所有哈希算法都通用,无论是MD5还是SHA-1。采用Hmac替代我们自己的salt算法,可以使程序算法更标准化,也更安全。Python自带的hmac模块实现了标准的Hmac算法。>>......