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

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

文章目录

    • 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,所有环境都有效。大部分情况都采用默认,直接都有效

相关文章:

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

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

一、前端稳定性规约该如何制定

前言 稳定性是数学或工程上的用语&#xff0c;判别一系统在有界的输入是否也产生有界的输出。若是&#xff0c;称系统为稳定&#xff1b;若否&#xff0c;则称系统为不稳定。 前端稳定性的体系建设大约可以分为了发布前&#xff0c;发布后&#xff0c;以及事故解决后三个阶段…...

Docker(三)Docker网络

目录1 结论知识2 link3 自定义网络1 结论知识 每一个容器启动时都会被分配一个ip地址&#xff1b;宿主机可以ping通任何一个docker容器&#xff1b;启动docker之后&#xff0c;宿主机默认网卡docker0&#xff0c;启动容器在宿主机注册网卡&#xff0c;使用的evth-pair技术&…...

Js高级API

Decorator装饰器 针对属性 / 方法的装饰器 // decorator 外部可以包装一个函数&#xff0c;函数可以带参数function Decorator (type) {/*** 这里是真正的decorator* description: 装饰的对象的描述对象* target:装饰的属性所述类的原型&#xff0c;不是实例后的类。如果装饰…...

团队:在人身上,你到底愿意花多大精力?

你好&#xff0c;我是叶芊。 今天我们讨论怎么带团队这个话题&#xff0c;哎先别急着走&#xff0c;你可能跟很多人一样&#xff0c;觉得带团队离我还太远&#xff0c;或者觉得我才不要做管理&#xff0c;我要一路技术走到底&#xff0c;但是你知道吗&#xff1f;带团队做事&am…...

Linux-Poolkit提权

Linux-Poolkit提权 漏洞复现- Linux Polkit 权限提升漏洞&#xff08;CVE-2021-4034&#xff09; 0x00 前言 polkit是一个授权管理器&#xff0c;其系统架构由授权和身份验证代理组成&#xff0c;pkexec是其中polkit的其中一个工具&#xff0c;他的作用有点类似于sudo&#x…...

【React全家桶】React Hooks

React Hookshooks介绍useState(保存组件状态)useEffect()useCallback(记忆函数)useMemo() 记忆组件useRef(保存引用值)useReducer()useContext(减少组件层级)自定义hookshooks介绍 在react类组件&#xff08;class&#xff09;写法中&#xff0c;有setState和生命周期对状态进…...

CLIP论文阅读

Learning Transferable Visual Models From Natural Language Supervision 利用自然语言的监督信号学习可迁移的视觉模型 概述 迁移学习方式就是先在一个较大规模的数据集如ImageNet上预训练&#xff0c;然后在具体的下游任务上再进行微调。这里的预训练是基于有监督训练的&am…...

华为OD机试真题Python实现【身高排序】真题+解题思路+代码(20222023)

身高排序 题目 小明今年升学到了小学一年级, 来到新班级后,发现其他小朋友身高参差不齐, 然后就想基于各小朋友和自己的身高差,对他们进行排序, 请帮他实现排序 🔥🔥🔥🔥🔥👉👉👉👉👉👉 华为OD机试(Python)真题目录汇总 输入 第一行为正整数H…...

Spring Cache的使用--快速上手篇

系列文章目录 分页查询–Java项目实战篇 全局异常处理–Java实战项目篇 完善登录功能–过滤器的使用 更多该系列文章请查看我的主页哦 文章目录系列文章目录前言一、Spring Cache介绍二、Spring Cache的使用1. 导入依赖2. 配置信息3. 在启动类上添加注解4. 添加注解4.1 CacheP…...

(三十八)MySQL是如何支持4种事务隔离级别的?Spring事务注解是如何设置的?

上次我们讲完了SQL标准下的4种事务隔离级别&#xff0c;平时比较多用的就是RC和RR两种级别&#xff0c;那么在MySQL中也是支持那4种隔离级别的&#xff0c;基本的语义都是差不多的 但是要注意的一点是&#xff0c;MySQL默认设置的事务隔离级别&#xff0c;都是RR级别的&#x…...

【博学谷学习记录】大数据课程-学习第八周总结

Hadoop初体验 使用HDFS 1.从Linux本地上传一个文本文件到hdfs的/目录下 #在/export/data/目录中创建a.txt文件&#xff0c;并写入数据 cd /export/data/ touch a.txt echo "hello" > a.txt #将a.txt上传到HDFS的根目录 hadoop fs -put a.txt /2.通过页面查看…...

go cobra初试

cobra开源地址 https://github.com/spf13/cobra cobra是什么 Cobra is a library for creating powerful modern CLI applications. Cobra is used in many Go projects such as Kubernetes, Hugo, and GitHub CLI to name a few. This list contains a more extensive lis…...

【react全家桶】 事件处理

文章目录03 【事件处理】1.React事件2.类式组件绑定事件3.向事件处理程序传递参数4.收集表单数据5.受控和非受控组件5.函数的柯里化03 【事件处理】 React的事件是通过onXxx属性指定事件处理函数 React 使用的是自定义事件&#xff0c;而不是原生的 DOM 事件 React 的事件是通过…...

RabbitMQ交换机(Exchanges)

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

2023年java初级面试题10道基础试水题

1、面向对象的特征有哪些方面?答&#xff1a;面向对象的特征主要有以下几个方面&#xff1a;1)抽象&#xff1a;抽象是将一类对象的共同特征总结出来构造类的过程&#xff0c;包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为&#xff0c;并不关注这些行为的细节…...

烙铁使用方法

烙铁使用 烙铁是硬件工程师最经常使用的工具之一,一把性能保持良好的烙铁能帮助我们快速进行电路调试。烙铁第一次加热时采用焊锡均匀涂覆在烙铁头上,以便去除包在烙铁头上面的氧化物。在工作中我们需要根据情况选择合适的烙铁头类型,合适的温度进行操作。完成焊接后要在烙铁…...

golang日期转换、日期增减计算、时间戳转换

// 固定日期格式format : "2006-01-02 15:04:05"// 按本地时区解析日期location, _ : time.ParseInLocation(format, "2022-02-20 11:30:00", time.Local)// 增加1年&#xff0c;三个参数分别是&#xff1a;年&#xff0c;月&#xff0c;日date : location…...

Android 多种支付方式的优雅实现

场景App 的支付流程&#xff0c;添加多种支付方式&#xff0c;不同的支付方式&#xff0c;对应的操作不一样&#xff0c;有的会跳转到一个新的webview&#xff0c;有的会调用系统浏览器&#xff0c;有的会进去一个新的表单页面&#xff0c;等等。并且可以添加的支付方式也是不确…...

算法设计与分析期末考试复习(三)

动态规划 动态规划算法与分治法类似&#xff0c;其基本思想也是将待求解问题分成若干个子问题。但是经分解得到的子问题往往不是互相独立的。在用分治法求解时&#xff0c;有些子问题被重复计算机了许多次。 如果能够保存已解决的子问题的答案&#xff0c;而在需要时再找出已求…...

docker详细操作--未完待续

docker介绍 docker官网: Docker&#xff1a;加速容器应用程序开发 harbor官网&#xff1a;Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台&#xff0c;用于将应用程序及其依赖项&#xff08;如库、运行时环…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验&#xff0c;以及大语言模型的分析能力&#xff0c;我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际&#xff0c;我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测&#xff0c;聊作存档。等到明…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

云原生玩法三问:构建自定义开发环境

云原生玩法三问&#xff1a;构建自定义开发环境 引言 临时运维一个古董项目&#xff0c;无文档&#xff0c;无环境&#xff0c;无交接人&#xff0c;俗称三无。 运行设备的环境老&#xff0c;本地环境版本高&#xff0c;ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器

拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件&#xff1a; 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...

热门Chrome扩展程序存在明文传输风险,用户隐私安全受威胁

赛门铁克威胁猎手团队最新报告披露&#xff0c;数款拥有数百万活跃用户的Chrome扩展程序正在通过未加密的HTTP连接静默泄露用户敏感数据&#xff0c;严重威胁用户隐私安全。 知名扩展程序存在明文传输风险 尽管宣称提供安全浏览、数据分析或便捷界面等功能&#xff0c;但SEMR…...

Mysql故障排插与环境优化

前置知识点 最上层是一些客户端和连接服务&#xff0c;包含本 sock 通信和大多数jiyukehuduan/服务端工具实现的TCP/IP通信。主要完成一些简介处理、授权认证、及相关的安全方案等。在该层上引入了线程池的概念&#xff0c;为通过安全认证接入的客户端提供线程。同样在该层上可…...

【若依】框架项目部署笔记

参考【SpringBoot】【Vue】项目部署_no main manifest attribute, in springboot-0.0.1-sn-CSDN博客 多一个redis安装 准备工作&#xff1a; 压缩包下载&#xff1a;http://download.redis.io/releases 1. 上传压缩包&#xff0c;并进入压缩包所在目录&#xff0c;解压到目标…...

ArcPy扩展模块的使用(3)

管理工程项目 arcpy.mp模块允许用户管理布局、地图、报表、文件夹连接、视图等工程项目。例如&#xff0c;可以更新、修复或替换图层数据源&#xff0c;修改图层的符号系统&#xff0c;甚至自动在线执行共享要托管在组织中的工程项。 以下代码展示了如何更新图层的数据源&…...