01-Maven基础-简介安装、基本使用(命令)、IDEA配置、(写jar,刷新自动下载)、依赖管理

news2024/9/24 15:23:21

文章目录

    • 0、Maven
    • 1、Maven 简介
    • 2、Maven 安装配置
      • 安装配置步骤
    • 3、Maven 基本使用
      • Maven 常用命令
      • Maven 生命周期
    • IDEA 配置 Maven
      • Maven 坐标详解
      • IDEA 创建 Maven 项目
      • IDEA 导入 Maven 项目
      • 配置 Maven-Helper 插件 (非常实用的小插件)
    • 依赖管理
      • 使用坐标导入 jar 包
      • 依赖范围

0、Maven

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

1、Maven 简介

在这里插入图片描述

http://maven.apache.org/

所有3.0.4以上版本下载地址: https://archive.apache.org/dist/maven/maven-3/
注意:binaries 目录下才是 可执行文件, source是源代码不需要下载

导入的jar包其实也可以看成一个写好的小项目 让jar项目和我们的项目相互依赖起来,就可以互通了
在这里插入图片描述
中央仓库: https://repo1.maven.org/maven2/

2、Maven 安装配置

在这里插入图片描述

在这里插入图片描述
Version:3.8.1 就是说兼容 3.8.1及其之前的版本,装个3.6.1也没啥问题

所有3.0.4以上版本下载地址: https://archive.apache.org/dist/maven/maven-3/
注意:binaries 目录下才是 可执行文件, source是源代码不需要下载

安装配置步骤

    1. 下载解压到想安装的目录
      在这里插入图片描述

在这里插入图片描述

  • 2. 配置环境变量
    新建系统环境变量: MAVEN_HOME 值为maven安装根目录: C:\Program Files\maven\apache-maven-3.6.1
    在这里插入图片描述
    再将bin目录配置到系统环境变量的path里面
    %MAVEN_HOME%\bin
    在这里插入图片描述
    写完后一路点击确定

    验证是否配置成功
    cmd里输入:mvn -version
    出现如下信息,证明配置成功
    在这里插入图片描述

  • 3. 配置本地仓库
    修改 conf/settings.xml 中的 <localRepository> 为一个指定目录
    在这里插入图片描述
    在这里插入图片描述

注意,本地仓库千万不要在 C:\Program Files\目录下,权限太高,后面命令行和idea会没有权限在里面创建目录(报错:Failed to create parent directories for tracking file)

<localRepository>C:\software\maven\apache-maven-3.6.1\mvn_resp</localRepository>

(如果保存时提示没有权限(一般安装在C盘Program目录下会有这个烦恼)则先将文件复制到桌面,在桌面修改好后再复制回去)

一般都习惯于在maven安转根目录下,新建一个文件夹,作为本地仓库所有jar包位置。但是如果你maven装在C:\Program Files\就不能这么干了
在这里插入图片描述
只能另外创建类似目录
在这里插入图片描述

  • 4. 配置阿里云私服

    修改 conf/settings.xml 中的 标签,为其添加如下子标签:

    <mirror>  
    	<id>alimaven</id>  
    	<name>aliyun maven</name>  
    	<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    	<mirrorOf>central</mirrorOf>          
    </mirror>
    

    在这里插入图片描述
    同样保存不了的话,先将settings.xml复制到桌面,修改并保存好后再覆盖回去

3、Maven 基本使用

Maven 常用命令

先用一个现成的小项目,用命令行试试这些命令,以深入理解每个命令的作用
链接:https://pan.baidu.com/s/1bo2cK1hnt53CIqr239-aUA
提取码:rfyh

在项目的pom.xml所在目录下打开cmd
在这里插入图片描述
先看看本地仓库,啥也没有
在这里插入图片描述

  • 执行编译命令: mvn compile
    第一次编译先会去阿里云私服下载编译工具带本地创仓库目录下,mvn_resp
    在这里插入图片描述
    第二次编译就不会了。
    编译完成后,项目目录下会多出一个target目录,里面是整个项目所有编译好的结果

  • 执行清理命令: mvn clean
    同样第一次执行会先下载对应的工具包。然后删除所有编译好的结果(删除target目录)
    在这里插入图片描述

  • 执行打包命令: mvn package
    (第一次执行也会先下载对呀工具包)
    在这里插入图片描述
    重新生产target目录,并将打好的包放在里面 (java项目打jar包,web项目打war包)

  • 执行测试命令:mvn test
    会自动执行src/test目录下的java代码
    在这里插入图片描述

  • 执行安装命令: mvn install
    会将当前项目打成jar包放到本地仓库下
    在这里插入图片描述

  • compile :编译
  • clean:清理
  • test:测试
  • package:打包
  • install:安装

Maven 生命周期

在这里插入图片描述

  • default 构建生命周期
    在这里插入图片描述

IDEA 配置 Maven

在这里插入图片描述
点maven home path 最右边 … 选择自己安装maven的根目录
勾选Override 选择自己安装maven的conf/settings.xml配置文件
(第三个本地仓库会自动识别出来的)
在这里插入图片描述

Maven 坐标详解

在这里插入图片描述

IDEA 创建 Maven 项目

在这里插入图片描述
在这里插入图片描述
若改骨架下没有自己想要的目录,可以自行创建,如:resources
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

quickstart自动帮你创建好了hello word!
在这里插入图片描述

IDEA 导入 Maven 项目

在这里插入图片描述

  1. 先将项目复制到工作目录下:
    在这里插入图片描述
  2. IDEA maven面板里一件导入
    在这里插入图片描述
    在这里插入图片描述

现在只想maven命令就非常方便了,再也不用命令行手敲了
在这里插入图片描述

配置 Maven-Helper 插件 (非常实用的小插件)

在这里插入图片描述
在这里插入图片描述
idea连不上网,可能需要开梯子。

此插件可以更方便地执行maven命令,甚至可以Debug maven
在这里插入图片描述

依赖管理

使用坐标导入 jar 包

在maven-demo的pom.xml下演示
在这里插入图片描述

  • 方式1:手写
    在这里插入图片描述

注意:第一次写某种jar包是没有代码提示的,得百度好坐标应该咋写,然后,手动刷新,让maven去下载jar包到本地仓库,然后以后写就都会有代码提示了

  • 方式2:搜索(本地仓库已经有的) (也还不错)
    在这里插入图片描述

新版本是自动帮你生成代码了。或者就是已经有依赖,再用就不好使了
在这里插入图片描述

  • 配置写完后自动生效 不用手动点击刷新按钮
    在这里插入图片描述

依赖范围

在这里插入图片描述

在这里插入图片描述
编译环境就是main目录下的代码
测试环境就是test目录下的代码

注意:JDK17 得配置好编译版本 (否则执行报错)

  <properties>
    <maven.compiler.source>17</maven.compiler.source>
    <maven.compiler.target>17</maven.compiler.target>
  </properties>

在这里插入图片描述


运行时无效就是说:将来项目打包后,不会将对应的jar包复制过去。(打好的包内无对应jar包)

不配置依赖范围,scope,默认就是compile,所有环境都有效。大部分情况都采用默认,直接都有效

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/372479.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

任何人均可上手的数据库与API搭建平台

编写API可能对于很多后端开发人员来说&#xff0c;并不是什么难事儿&#xff0c;但如果您主要从事前端功能&#xff0c;那么可能还是有一些门槛。 那么有没有工具可以帮助我们降低编写API的学习门槛和复杂度呢&#xff1f; 今天就来给大家推荐一个不错的开源工具&#xff1a;…

初识C++模板

文章目录前言1.模板概念2.函数模板1.示例用法1. 注意事项2.函数模板的原理3.函数模板的实例化4.模板参数的匹配原则3.类模板4.总结前言 本文主要围c中的模板进行介绍。模板是c中一个比较重要的概念&#xff0c;由于模板的存在&#xff0c;c才能进行泛型编程。模板的存在大大增…

针孔成像模型零基础入门(三)

2020年爆火的Nerf&#xff08;神经辐射场&#xff09;横空出世&#xff0c;据说只要用手机拍照&#xff0c;然后喂给模型&#xff0c;就可以生成3D模型了&#xff0c;我试过了&#xff0c;确有此事&#xff01; 那我们有想过&#xff0c;为什么可以从二维的图片里面获取物体三…

【7】linux命令每日分享——cat查看文件内容

大家好&#xff0c;这里是sdust-vrlab&#xff0c;Linux是一种免费使用和自由传播的类UNIX操作系统&#xff0c;Linux的基本思想有两点&#xff1a;一切都是文件&#xff1b;每个文件都有确定的用途&#xff1b;linux涉及到IT行业的方方面面&#xff0c;在我们日常的学习中&…

Linux网络配置(NAT)

在搭配好一台虚拟机的时候想要下载&#xff0c;安装些什么但一直失败这个时候就可以检查一下网络是否连接这里我们使用centos7举例子使用命令——ifconfig由此可见我们的系统中目前有3个网卡ens33——用于接入外网&#xff0c;该网卡默认关闭lo——用于访问本地网络&#xff0c…

[数据结构]:04-循环队列(数组)(C语言实现)

目录 前言 已完成内容 循环队列实现 01-开发环境 02-文件布局 03-代码 01-主函数 02-头文件 03-QueueCommon.cpp 04-QueueFunction.cpp 结语 前言 此专栏包含408考研数据结构全部内容&#xff0c;除其中使用到C引用外&#xff0c;全为C语言代码。使用C引用主要是为了…

1.7校验码:校验码、规则校验码-奇偶校验、检验码-循环校验码CRC、模2除法、校验码-海明校验

1.7校验码&#xff1a;校验码、规则校验码-奇偶校验、检验码-循环校验码CRC、模2除法、校验码-海明校验校验码校验码-奇偶校验编码规则检验码-循环校验码CRC编码规则什么是模2除法如何计算校验码校验码-海明校验校验码 计算机在接收相应信息的时候能够识别的的都是一些电器信号…

【Spring6】| Spring的入门程序、集成Log4j2日志框架

目录 一&#xff1a;Spring的入门程序 1. Spring的下载 2. Spring的jar文件 3. 第一个Spring程序 4. 第一个Spring程序详细剖析 5. Spring6启用Log4j2日志框架 一&#xff1a;Spring的入门程序 1. Spring的下载 官网地址&#xff1a;https://spring.io/ 官网地址&…

数学建模 latex 图片以及表格排版整理(overleaf)

无论是什么比赛&#xff0c;图片和表格的格式都非常重要&#xff0c;这边的重要不只是指规范性&#xff0c;还有抓住评委眼球的能力。 那么怎样抓住评委的眼球&#xff1f; 最重要的一点就是善用图片和表格&#xff08;当然撰写论文最重要的是逻辑&#xff0c;这个是需要长期…

CorelDRAW2023最新版序列号使用教程

CorelDRAW2023用起来非常顺手&#xff0c;旨在为用户解决因在工作上带来的问题&#xff0c;在业内可谓享有极高的声誉&#xff0c;是业内人士常用的一款工具&#xff0c;有了它&#xff0c;可以更好的帮助用户把握好各个方面的细节&#xff0c;减少其他方面的失误&#xff0c;让…

RabbitMQ交换机(Exchanges)

目录 一、概念 二、临时队列 三、绑定 四、Fanout&#xff08;扇出交换机&#xff09; &#xff08;一&#xff09;介绍 &#xff08;二&#xff09;实战 五、Direct&#xff08;直接交换机&#xff09; &#xff08;一&#xff09;介绍 &#xff08;二&#xff09;实…

【LeetCode】1255. 得分最高的单词集合

1255. 得分最高的单词集合 题目描述 你将会得到一份单词表 words&#xff0c;一个字母表 letters &#xff08;可能会有重复字母&#xff09;&#xff0c;以及每个字母对应的得分情况表 score。 请你帮忙计算玩家在单词拼写游戏中所能获得的「最高得分」&#xff1a;能够由 …

我看谁还敢说不懂git

文章目录一、Git介绍1.1、Git的作用1.2、Git的理念1.3、Git的特点1.4、Git对比SVN二、Git的概念2.1、Git基础概念三、Git的基本操作3.1、使用Git管理一个代码仓库的流程3.2、Git常用命令介绍四、Git状态的变化五、Git安装和配置5.1、Git的安装5.2、Git的配置六、Git的高级操作6…

【阅读笔记】SecureML: A System for ScalablePrivacy-Preserving Machine Learning

1. Motivation 针对机器学习中的出现的数据隐私泄露的风险&#xff0c;提出了线性回归、逻辑回归以及简单神经网络的隐私保护模型。 2. Contributions 2.1 为线性回归、逻辑回归以及神经网络设计安全计算协议 2.1.1.1 线性回归 线性回归损失函数为&#xff1a; , 采用SG…

数据分析:某电商优惠卷数据分析

数据分析&#xff1a;某电商优惠卷数据分析 作者&#xff1a;AOAIYI 专栏&#xff1a;python数据分析 作者简介&#xff1a;Python领域新星作者、多项比赛获奖者&#xff1a;AOAIYI首页 &#x1f60a;&#x1f60a;&#x1f60a;如果觉得文章不错或能帮助到你学习&#xff0c;可…

单变量回归问题

单变量回归问题 对于某房价问题&#xff0c;x为房屋大小&#xff0c;h即为预估房价&#xff0c;模型公式为&#xff1a; hθ(x)θ0θ1xh_{\theta}(x)\theta_{0}\theta_{1}x hθ​(x)θ0​θ1​x 要利用训练集拟合该公式&#xff08;主要是计算θ0、θ1\theta_{0}、\theta_{1}θ…

JavaScript DOM和BOM

目录 查找html元素 1.通过id 2.通过标签名 3.通过类名 DOM 1.创建动态的HTML内容 2.修改元素内容 3.改变HTML属性 4.改变css样式 DOM事件 DOM节点 1.添加HTML元素 2.删除HTML元素 浏览器对象 1.Window对象 2.Screen对象 3.History对象 4.Location对象 5.Navi…

深入理解java虚拟机精华总结:jvm内存模型(运行时数据区域)、对象、OOM异常

深入理解java虚拟机精华总结&#xff1a;jvm内存模型、对象、OOM异常jvm内存模型对象对象的创建对象的内存布局对象的访问定位OOM异常Java堆溢出栈溢出方法区溢出直接内存溢出以前读过好几遍《深入理解java虚拟机》这本书&#xff0c;最近又打算重读一遍&#xff0c;并且做一些…

一个接口多个实现如何选择注入对应的Bean_@Primary_@Resource_@Qualifier_@ConditionalOnProperty

文章目录引入结论案例Primary 指定默认注入的BeanQualifier配合Autowired 按名称注入对应的BeanResource 默认按照类型注入&#xff0c;可指定名称注入ConditionalOnProperty 结合配置文件统一设置bean的注入引入 在springboot中&#xff0c;如果一个接口有多个实现&#xff0…

SpringMVC - 13 - SpringMVC执行流程

文章目录1、SpringMVC常用组件2、DispatcherServlet初始化过程a>初始化WebApplicationContextb>创建WebApplicationContextc>DispatcherServlet初始化策略3、DispatcherServlet调用组件处理请求a>processRequest()b>doService()c>doDispatch()d>processDi…