Maven 基础之简介,基础配置

Maven

在这里插入图片描述

基本概念

Maven 是基于项目对象模型(Project Object Model),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。

Maven 主要有 2 个功能:「项目构建」和「依赖管理」。

🖋 说明
由于无论是 Eclipse 还是 IDEA 都内置了 maven ,所以并没有什么必要去「单独下载 maven ,并在命令行中使用」。通常我们都是在开发工具中基于图形化界面进行操作。

当然,图形化操作的背后本质上还是执行了对应了 maven 命令。所以,你还是有必要去了解一下 maven 命令行操作。我会在本系列最后章节输出相关的命令和使用。

提前做的配置工作

🖋 说明
以下内容对未来的操作会有重要影响,因此在学习、使用 maven 之前,我们先执行一下这些配置操作。

在使用 Maven 的过程中,Maven 会通过互联网从一个名为"中央仓库"的地方下载所需的各种包,但是由于这个下载地址是在国外,因此下载速度很慢且不稳定。阿里(还有其他的公司和机构)对这个中央仓库提供了"镜像服务",并保持持续的更新。

在正式使用 maven 之前,我们提前配置好阿里的 maven 仓库,以避免白白浪费时间。

第 1 步:在 C:\Users\<用户名> 目录下创建一个名为 .m2 的文件夹

这里有几个注意事项:

  1. 这个目录是 Windows 操作系统的用户家目录,可以通过 %homepath% 快速进入到这个目录;

  2. 如果这个文件夹存在,那么就直接利用它,不需要再创建了;

  3. 由于 windows 图形化界面中认为 .m2 这个文件名"有问题",所以这里直接使用命令行命令创建它:md .m2

第 2 步:在 .m2 中创建 settings.xml 配置文件

将下面的 settings.xml 配置文件复制到 .m2 中目录中,即可。

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 
        http://maven.apache.org/xsd/settings-1.0.0.xsd">

  <!-- https://maven.aliyun.com/mvn/guide -->
  <mirrors>
    <mirror>
      <id>aliyunmaven</id>
      <mirrorOf>*</mirrorOf>
      <name>阿里云公共仓库</name>
      <url>https://maven.aliyun.com/repository/public</url>
    </mirror>
  </mirrors>

  <profiles>
    <profile>    
      <id>jdk-1.8</id>    
      <activation>    
        <activeByDefault>true</activeByDefault>    
        <jdk>1.8</jdk> <!-- 当 jdk 环境版本为 1.8 时,此 profile 被激活 -->
      </activation>    
      <properties>
        <maven.compiler.source>1.8</maven.compiler.source>    
        <maven.compiler.target>1.8</maven.compiler.target>    
        <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
      </properties>
    </profile>
  </profiles>

<!-- 如果有需要,这个全局配置文件中还可以进行其它方面的配置。不过,我们暂时不涉及。-->
</settings>

这里有几个注意事项:

  1. 在这个配置文件中,我们主要配置了"中央仓库"的网址。从默认的、外网仓库网址改成了阿里提供的国内镜像服务器网址(从而提高未来使用中下载包的速度)

  2. 如果 .m2 中原本就有 settings.xml 配置文件,而那么稳妥起见,你就需要将我们的模板文件中的内容"抠"出来,复制进去(而不是贸然的直接复制覆盖源文件,以免出现原配置丢失的情况)

第 3 步:在 .m2 中创建 cleanLastUpdated.bat 脚本文件

这个脚本文件是为了解决 .lastUpdated 文件问题。

将下面的 cleanLastUpdated.bat 脚本文件复制到 .m2 中目录中,即可。

以下内容是 Windows 下的“清除脚本”的内容。REPOSITORY_PATH 变量的值根据具体情况的不同可以有调整。

@echo off

set REPOSITORY_PATH=C:%HOMEPATH%\.m2\repository
rem 正在搜索...
for /f "delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\*lastUpdated*"') do (
    echo %%i
    del /s /q "%%i"
)
rem 搜索完毕
pause

这里有几个注意事项:

  1. 这个脚本文件是用来清除 %homepath%/.m2/repository 中的 .lastUpdated 文件的。使用时双击它即可。

  2. 如果你改动过配置,使得你的本地仓库并不在默认的 %homepath%/.m2/repository 中,而你还想利用这个脚本文件,那么你就需要打开它、编辑它,改成符合你的需要的情况。

其它

在未来,settings.xml 的"旁边"会有一个名为 “repository” 的文件夹,你从或阿里的镜像服务器(即,中央仓库)下载的各种包,就会被放在这里面。这个 “repository” 文件夹,也被称为 maven 的 “本地仓库” 。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于 Junit 的接口自动化测试框架实现

目录 前言&#xff1a; 分层的自动化测试 接口测试的意义 接口测试框架选型 我们封装的接口测试框架 接口测试关键实践 测试代码规范 (仅供参考) 前言&#xff1a; 基于JUnit的接口自动化测试框架可以实现对接口进行自动化测试&#xff0c;并提供了丰富的断言和报告功能…

分类预测 | MATLAB实现基于Attention-LSTM的数据分类预测多特征分类预测(长短期记忆网络融合注意力机制分类预测,含混淆矩阵图、分类图)

分类预测 | MATLAB实现基于Attention-LSTM的数据分类预测多特征分类预测(长短期记忆网络融合注意力机制分类预测&#xff0c;含混淆矩阵图、分类图) 目录 分类预测 | MATLAB实现基于Attention-LSTM的数据分类预测多特征分类预测(长短期记忆网络融合注意力机制分类预测&#xff…

【JAVA】数组的概念;数组的使用;引用;内存分区;数组练习题

&#x1f349;内容专栏&#xff1a;【JAVA从0到入门】 &#x1f349;本文脉络&#xff1a;数组的概念&#xff1b;数组的使用&#xff1b;引用&#xff1b;内存分区&#xff1b;数组练习题 &#x1f349;本文作者&#xff1a;Melon_西西 &#x1f349;发布时间 &#xff1a;202…

Python案例分析|使用Python图像处理库Pillow处理图像文件

本案例通过使用Python图像处理库Pillow&#xff0c;帮助大家进一步了解Python的基本概念&#xff1a;模块、对象、方法和函数的使用 使用Python语言解决实际问题时&#xff0c;往往需要使用由第三方开发的开源Python软件库。 本案例使用图像处理库Pillow中的模块、对象来处理…

JVM学习之内存与垃圾回收篇1

文章目录 1 JVM与Java体系结构1.0 Java发展重大事件1.1 虚拟机和Java虚拟机1.3 JVM整体结构1.4 Java代码执行流程1.5 JVM架构模型1.6 JVM的生命周期1.7 JVM发展历程 2 类加载子系统2.1 ClassLoader2.2 用户自定义类加载器2.2.1 为什么需要自定义类加载器2.2.2 自定义类加载器的…

kafka第三课-可视化工具、生产环境问题总结以及性能优化

一、可视化工具 https://pan.baidu.com/s/1qYifoa4 密码&#xff1a;el4o 下载解压之后&#xff0c;编辑该文件&#xff0c;修改zookeeper地址&#xff0c;也就是kafka注册的zookeeper的地址&#xff0c;如果是zookeeper集群&#xff0c;以逗号分开 vi conf/application.conf 启…

前端vue uni-app仿美团下拉框下拉筛选组件

在前端Web开发中&#xff0c;下拉筛选功能是一种非常常见的交互方式&#xff0c;它可以帮助用户快速选择所需的选项。本文将介绍如何利用Vue.js和uni-app框架来实现一个高效的下拉筛选功能。通过使用这两个强大的前端框架&#xff0c;我们可以轻松地创建具有响应式用户操作的下…

Spring Cloud+Uniapp+企业工程管理系统源码之提高工程项目管理软件的效率

高效的工程项目管理软件不仅能够提高效率还应可以帮你节省成本提升利润 在工程行业中&#xff0c;管理不畅以及不良的项目执行&#xff0c;往往会导致项目延期、成本上升、回款拖后&#xff0c;最终导致项目整体盈利下降。企企管理云业财一体化的项目管理系统&#xff0c;确保…

车道线检测|利用边缘检测的原理对车道线图片进行识别

前言 那么这里博主先安利一些干货满满的专栏了&#xff01; 这两个都是博主在学习Linux操作系统过程中的记录&#xff0c;希望对大家的学习有帮助&#xff01; 操作系统Operating Syshttps://blog.csdn.net/yu_cblog/category_12165502.html?spm1001.2014.3001.5482Linux S…

Python应用实例(二)数据可视化(三)

数据可视化&#xff08;三&#xff09; 1.使用Plotly模拟掷骰子1.1 安装Plotly1.2 创建Die类1.3 掷骰子1.4 分析结果1.5 绘制直方图1.6 同时掷两个骰子1.7 同时掷两个面数不同的骰子 1.使用Plotly模拟掷骰子 本节将使用Python包Plotly来生成交互式图表。需要创建在浏览器中显示…

【计算机视觉 | 目标检测 | 图像分割】arxiv 计算机视觉关于目标检测和图像分割的学术速递(7 月 17 日论文合集)

文章目录 一、检测相关(5篇)1.1 TALL: Thumbnail Layout for Deepfake Video Detection1.2 Cloud Detection in Multispectral Satellite Images Using Support Vector Machines With Quantum Kernels1.3 Multimodal Motion Conditioned Diffusion Model for Skeleton-based Vi…

LiveGBS流媒体平台GB/T28181功能-海康NVR摄像机自带物联网卡摄像头注册GB/T28181国标平台看不到设备的时候如何抓包及排查

海康大华宇视华为等硬件NVR摄像机注册到LiveGBS国标平台看不到设备的时候如何抓包及排查 1、设备注册后查看不到1.1、是否是自带物联网卡的摄像头1.2、关闭萤石云1.3、防火墙排查1.4、端口排查1.5、IP地址排查1.6、设备TCP/IP配置排查1.7、设备多网卡排查1.8、设备接入配置参数…

docker-compose自建RustDesk远程控制服务器

github&#xff1a; rustdesk/rustdesk-server: RustDesk Server Program (github.com) 一、创建 docker-compose.yml 文件&#xff0c;复制以下 docker-compose 配置文件内容到文件 version: 3networks:rustdesk-net:external: falseservices:hbbs:container_name: hbbspor…

卷积神经网络识别人脸项目—使用百度飞桨ai计算

卷积神经网络识别人脸项目的详细过程 整个项目需要的准备文件&#xff1a; 下载链接&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1WEndfi14EhVh-8Vvt62I_w 提取码&#xff1a;7777 链接&#xff1a;https://pan.baidu.com/s/10weqx3r_zbS5gNEq-xGrzg 提取码&#x…

【论文笔记】KDD2019 | KGAT: Knowledge Graph Attention Network for Recommendation

Abstract 为了更好的推荐&#xff0c;不仅要对user-item交互进行建模&#xff0c;还要将关系信息考虑进来 传统方法因子分解机将每个交互都当作一个独立的实例&#xff0c;但是忽略了item之间的关系&#xff08;eg&#xff1a;一部电影的导演也是另一部电影的演员&#xff09…

idea-实现热部署

idea-实现热部署 今天在进行idea 开发时突然发现热部署失败了&#xff0c;每次修改内容都要去restart server一次 这样比较麻烦&#xff0c;故而总结一下idea实现热部署的方法&#xff1a; 步骤一&#xff1a; 选择edit configuration 然后跳出server 的配置&#xff0c;方框…

第一性原理COHP计算在材料科学领域的应用

第一性原理COHP计算在材料科学领域的应用 第一性原理COHP计算是一种基于密度泛函理论&#xff08;DFT&#xff09;的计算方法&#xff0c;用于研究固体材料中的化学键和电子结构相互作用。通过COHP计算&#xff0c;我们可以获得许多有用的数据&#xff0c;并且这些数据在材料科…

NFS 存储(二十八)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、概述 二、应用场景 三、安装 四、启动 五、目录结构 六、命令解析 七、配置 八、客户端访问 总结 前言 今天学习的是NFS 存储&#xff0c;主要是讲 nfs 的概述…

1.Lee Code HTML面试题

如何理解HTML语义化 HTML语义化是指在编写HTML代码时,使用合适的标签和元素来表达文档结构和含义,使得页面内容对搜索引擎和开发者更加友好,并增加代码的可读性。语义化的HTML使得网页在没有样式或样式加载失败时仍然能够保持良好的结构和意义。 问题 2

Kubernetes 使用 helm 部署 NFS Provisioner

文章目录 1. 介绍2. 预备条件3. 部署 nfs4. 部署 NFS subdir external provisioner4.1 集群配置 containerd 代理4.2 配置代理堡垒机通过 kubeconfig 部署 部署 MinIO添加仓库修改可配置项 访问nodepotingress 1. 介绍 NFS subdir external provisioner 使用现有且已配置的NFS…