【Maven】Maven入门,Java界的Anaconda!

news/2024/11/29 22:43:45/

1 Maven介绍

官方文档:Apache Maven 的本质是一个软件项目管理和理解工具。基于项目对象模型 (Project Object Model,POM) 的概念,Maven 可以从一条中心信息管理项目的构建、报告和文档。

就像Python和Anaconda的关系🤭

可以帮助Javer完成构建、文档生成、报告、依赖、发布、分发等等功能!

可以在 https://mvnrepository.com/open in new window 这个网站上找到几乎所有可用的构件。

2 Maven 坐标

项目中依赖的第三方库以及插件可统称为构件。每一个构件都可以使用 Maven 坐标唯一标识,坐标元素包括:

  • groupId(必须): 定义了当前 Maven 项目隶属的组织或公司。groupId 一般分为多段,通常情况下,第一段为域,第二段为公司名称。域又分为 org、com、cn 等,其中 org 为非营利组织,com 为商业组织,cn 表示中国。以 apache 开源社区的 tomcat 项目为例,这个项目的 groupId 是 org.apache,它的域是 org(因为 tomcat 是非营利项目),公司名称是 apache,artifactId 是 tomcat。
  • artifactId(必须):定义了当前 Maven 项目的名称,项目的唯一的标识符,对应项目根目录的名称。
  • version(必须):定义了 Maven 项目当前所处版本。
  • packaging(可选):定义了 Maven 项目的打包方式(比如 jar,war…),默认使用 jar。
  • classifier(可选):常用于区分从同一 POM 构建的具有不同内容的构件,可以是任意的字符串,附加在版本号之后。
  • scope(可选):使用范围。
<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.1.1</version>
</dependency>

3 Maven仓库

  • 本地仓库:运行 Maven 的计算机上的一个目录,它缓存远程下载的构件并包含尚未发布的临时构件。settings.xml 文件中可以看到 Maven 的本地仓库路径配置。
  • 远程仓库:官方或者其他组织维护的 Maven 仓库。
    • 中央仓库:Maven 社区来维护,查询地址open in new window](https://search.maven.org/),开发者可以通过这个地址更快的搜索需要构件的坐标。
    • 私服:私服是一种特殊的远程 Maven 仓库,它是架设在局域网内的仓库服务,私服一般被配置为互联网远程仓库的镜像,供局域网内的 Maven 用户使用。
    • 其他的公共仓库:有一些公共仓库是为了加速访问(比如阿里云 Maven 镜像仓库)或者部分构件不存在于中央仓库中。

Maven 依赖包寻找顺序:

  1. 先去本地仓库找,有的话,直接使用。
  2. 本地仓库没有找到的话,会去远程仓库找,下载包到本地仓库。
  3. 远程仓库没有找到的话,会报错。

4 Maven生命周期

image.png

5 Maven安装

5.1 安装包

注意:安装时可能需要查一下操作系统(比如Win10、Win11)和maven的兼容性问题。

下载安装包:

解压后添加环境变量(系统变量)、并添加到Path中即可:


检查安装:

cmd:
mvn --version

5.2 配置本地仓库和私有仓库位置

settings.xml,搜索localRepository

<localRepository> F:\Maven\apache-maven-3.6.3\repo </localRepository>

搜索mirror,配置阿里云私服:

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

5.3 IDEA配置Maven环境

5.4 IDEA创建maven项目

直接new一个maven的project就好啦

解决:Unresolved plugin: org.apache.maven.plugins:maven-jar-plugin:2.4 等四个插件的问题

在Dependencies中加入(可在pom.xml中按alt+insert,然后选择Dependency进行搜索):

        <dependency><groupId>org.apache.maven.plugins</groupId><artifactId>maven-install-plugin</artifactId><version>2.4</version><type>maven-plugin</type></dependency><dependency><groupId>org.apache.maven.plugins</groupId><artifactId>maven-deploy-plugin</artifactId><version>2.7</version><type>maven-plugin</type></dependency><dependency><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.12.4</version><type>maven-plugin</type></dependency><dependency><groupId>org.apache.maven.plugins</groupId><artifactId>maven-site-plugin</artifactId><version>3.3</version><type>maven-plugin</type></dependency>

写好dependency以后,戳按钮刷新reload,使坐标生效:

5.5 IDEA导入maven项目

  1. 选择右侧Maven面板(如果没有,在View-Apperance-Tool Window Bars开启),点击+号
  2. 选中对应项目的pom.xml文件,戳按钮reload。

img


http://www.ppmy.cn/news/252091.html

相关文章

【29JavaScript 表单】掌握 JavaScript 表单操作:获取、验证和动态处理,提升用户交互体验

JavaScript 表单 表单是网页中常用的元素之一&#xff0c;用于收集用户输入的数据。JavaScript 提供了丰富的方法和属性来操作和验证表单数据。本文将详细介绍 JavaScript 中与表单相关的操作。 获取表单元素 通过 JavaScript 可以轻松获取表单中的各个元素&#xff0c;并对…

在没有串口设备的时候如何让电脑能调试串口设备

1.设备&#xff1a;电脑。 2.软件&#xff1a;Configure Virtual Serial Port Driver。 3.软件&#xff1a;串口调试助手。 4.自己的开发工具。 一&#xff0c;建立虚拟串口 打开Configure Virtual Serial Port Driver建立两个虚拟串口。&#xff08;默认软件可以适用14天&…

串口设备的类型

RS232、RS422和RS485这三种串口都是串行数据接口标准&#xff0c;由电子工业协会&#xff08;EIA&#xff09;制订并发布。 为保证不同厂家产品之间的相互兼容&#xff0c;1962年RS232发布。 但RS232通信距离短、速率低&#xff0c;为了弥补这方面的不足&#xff0c;RS422就诞生…

查看设备串口列表和串口上电使能

查看设备串口列表 adb shell ls dev/ttys (或者直接问供应商) 用ls命令行时出现如下错误&#xff1a;不是内部或外部命令 解决方法&#xff1a;新建文件&#xff1a;ls.bat&#xff0c;输入以下代码&#xff1a; echo off dir 拷贝到 C/Windows下 串口上电使能 adb sh…

Qt 串口获取串口设备名称

前言 最近在用QT弄一个串口上位机&#xff0c;以前用QT做的串口工具在选择串口的时候只能通过串口号选择&#xff0c;在有多个串口设备的时候不是很方便&#xff0c;所以这次就想着搞成选择的时候可以显示串口设备名称的方式。 1、实现效果 目前家里就只有一个CH340的串口设备…

串口的使用-ttyUSB0设备

波特率 115200 ttyUSB0 一定要物理连接成功&#xff0c; 我的串口一直插串位了&#xff0c; 所以耽误了特别长的时间。 但是重新对好口后才成功连接的。 android串口调试 嵌入式 Linux下使用minicom串口调试开发板 minicom安装、配置、及使用中遇到问题 USB加minicom使用…

串口简介1

串口概念 串口是串行接口(Serial Port)的简称,是一种常用的计算机接口,由于连线少、通信控制简单而得到广泛的使用。串口有几种标准,常见的一种称做RS232接口标准串口协议支持的最高数据传输率是115Kbps。一些改进的串口控制器支持更高甚至460Kbps的数据传输率,如增强型串ESP …

QT串口获取串口设备名称

QT串口获取串口设备名称 前言一、实现效果二、实现代码1.检测可用串口&#xff0c;并把名称输出到ComboBox中&#xff0c;并自动根据设备名称的长度调整ComboBox下拉框的长度 总结 前言 最近在用QT弄一个串口上位机&#xff0c;以前用QT做的串口工具在选择串口的时候只能通过串…