Maven概述

目录

1.Maven简介

2.Maven开发环境搭建

2.1下载Maven服务器

 2.2安装,配置Maven

1.配置本地仓库地址

2.配置阿里云镜像地址

2.3在idea中配置maven

2.4在idea中创建maven项目

3.pom.xml配置

1.项目基本信息

2.依赖信息

3.构建信息

4.Maven命令

5.打包JavaSE项目案例


1.Maven简介

Maven是Apache软件基金会的一个开源项目,是一个优秀的项目构建工具,它用来帮助开发者管理项目中的jar,以及jar之间的依赖关系、完成项目的编译、测试、打包和发布等工作。

Maven中的概念

pom(Project Object Model 项目对象模型)

Maven 管理的项目的根目录下都有一个 pom.xml 文件。

pom.xml 文件指示 Maven 如何工作。

在 pom.xml 文件中配置项目基本信息以及项目构建信息等。比如:项目坐标、 项目依赖的 jar、插件、编译选项等。

一旦在 pom.xml 文件中配置了所依赖的 jar,Maven会自动从构件仓库中下载相应的构件。

坐标

Maven 给每个jar 定义了唯一的标志,这个在 Maven中叫做项目的坐标,通过这个坐标可以找到你需要用到的任何版本的 jar包。

groupId、artifactId、packaging、version 的组合被称为项目的坐标,它们形成了项目的唯一标识,Maven 通过坐标来精确定位构件。其中 groupId、artifactId、version 是必须的,且这三项的值必须唯一,packaging 是可选的(默认为 jar)。

仓库

中央仓库全球共享,先将 jar 从中央仓库下载到本地仓库,然后在项目中引用本地仓库的 jar.

中央仓库:官方提供的,访问速度慢

中央仓库镜像:在全球各地对中央层库进行备份(例如阿里云),国内访问速度慢快

本地仓库:在程序员电脑上的仓库,第一次使用时从官方下载到本地,以后从本地直接引用即可

2.Maven开发环境搭建

前提:安装jdk

Maven 工作时需要通过网络下载各种插件以完成任务,因此应保证网络的通畅。

2.1下载Maven服务器

Maven 官网:http:// maven .apache. org

点击download进行下载:

 2.2安装,配置Maven

点击下载二进制的 apache-maven -3.6.0-bin.zip 进行解压,”然后在系统环境中配置环境变量,在path中配置到bin目录,配置成功后输入命令mvn -version查看版本如下图:

表示Maven环境配置成功。

1.配置本地仓库地址

在Maven下载后,为了将下载的jar存储到我们指定的仓库中,我们需要在Maven的服务器解压的文件中找到conf文件夹下的settings.xml文件进行修改,如下图:

注意:用浏览器打开settings是无法进行修改的,建议下载一个Notepad++

下载地址:https://notepad-plus.en.softonic.com/download

官网下不了在网盘也有一份:
链接:https://pan.baidu.com/s/1yiPcbWSIgYRPiSEjMNlvFg 
提取码:i044

 用Notepad++打开settings:找到

将最后的-->剪切到上图输入键的地方,再将<localRepository>/path/to/local/repo</localRepository>中的/path/to/local/repo修改成本地仓库的地址(在D盘中新建一个localRepository文件,复制此文件的地址替换掉/path/to/local/repo)

如下图:

2.配置阿里云镜像地址

还是在settings文件中,找到mirrors

再将以下文字复制到上图输入框的位置:

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

如下图:

 阿里云镜像仓库就配置好了

2.3在idea中配置maven

 修改Maven home path(因idea版本不同名字可能不同)

点击OK后,再修改下面两项:

点击确定再idea中的配置就完成了。

2.4在idea中创建maven项目

在File点击new中的project:

3.pom.xml配置

1.项目基本信息

<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>mavenPro</artifactId>
<version>1.0-SNAPSHOT</version>

2.依赖信息

<dependencies>

<!--mysql-->

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

<version>8.0.16</version>

</dependency>

</dependencies>

Maven 仓库官网(http://mvnrepository.com/)如下图所示:

3.构建信息

<build>...</build>

4.Maven命令

Maven 常用命令

1. clean 删除编译的 target

2. compile 编译

3. package 打包

5.打包JavaSE项目案例

添加打包依赖

<build>
<pluginManagement><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId><configuration><archive><manifest><mainClass>启动类地址</mainClass><addClasspath>true</addClasspath><classpathPrefix>lib/</classpathPrefix></manifest></archive><classesDirectory></classesDirectory></configuration></plugin></plugins>
</pluginManagement>
</build>

执行maven命令

 

生成jar 

复制出jar包到桌面,命令行进入到桌面

Java -jar jar包名称 

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

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

相关文章

企业微信报错,api forbidden 错误码 48002

业务场景是这边后端页面点同步就去企微接口拉取客户数据&#xff0c;然后报错如下。 后端抓包返回的json如下 {“errcode”:48002,“follow_user”:[],“errmsg”:“api forbidden, hint: [1721869790252850672734303], from ip: 203.88.203.216, more info at https://open.w…

数据结构(链表)

&#x1f30f;个人博客主页&#xff1a;心.c 前言&#xff1a; 最近练习算法回去学了链表&#xff0c;收获挺大的&#xff0c;大概内容整理了一下&#xff0c;语言是用c写的&#xff0c;所以在这里分享给大家&#xff0c;希望大家可以有所收获 &#x1f525;&#x1f525;&…

2024年技校大数据实验室建设及大数据实训平台整体解决方案

随着信息技术的迅猛发展&#xff0c;大数据已成为推动产业升级和社会进步的重要力量。为适应市场需求&#xff0c;培养高素质的大数据技术人才&#xff0c;技校作为职业教育的重要阵地&#xff0c;亟需加强大数据实验室的建设与实训平台的打造。本方案旨在提出一套全面、可行的…

Synchronized关键字和乐观锁(CAS)

一、Sychronized关键字 在Java中&#xff0c;synchronized 是一个关键字&#xff0c;用于实现线程同步。当一个方法或一个代码块被synchronized修饰时&#xff0c;它被称为同步方法或同步代码块。这意味着每次只有一个线程可以进入该方法或代码块&#xff0c;其他线程必…

二维码的生成与识别(python)

二维码生成 from PIL import Image import qrcode from qrcode.image.styledpil import StyledPilImage from qrcode.image.styles.colormasks import SolidFillColorMask from qrcode.image.styles.moduledrawers import SquareModuleDrawer# 创建二维码对象 qr qrcode.QRCo…

Windows系统笔记本无法连接Wi-Fi常见原因及解决办法

在现代生活中&#xff0c;Wi-Fi已成为我们连接互联网不可或缺的方式之一。 然而&#xff0c;有时我们的Windows系统笔记本可能会遇到无法连接Wi-Fi的问题。 这种情况可能由多种原因引起&#xff0c;包括硬件故障、驱动问题、系统设置等。 以下是针对Windows 10和Windows 11系…

【STM32】stm32中GPIO_ReadInputDataBit()是什么意思

GPIO_ReadInputDataBit()函数用于读取指定GPIO端口的某一引脚上的电平状态&#xff0c;并返回该引脚的电平是高电平&#xff08;1&#xff09;还是低电平&#xff08;0&#xff09;。 在STM32单片机中&#xff0c;GPIO&#xff08;General-Purpose Input/Output&#xff09;端…

vue3在元素上绑定自定义事件弹出虚拟键盘

最近开发中遇到一个需求: 焊接机器人的屏幕上集成web前端网页, 但是没有接入键盘。这就需要web端开发一个虚拟键盘,在网上找个很多虚拟键盘没有特别适合,索性自己写个简单的 图片: 代码: (代码可能比较垃圾冗余,也没时间优化,凑合看吧) 第一步:创建键盘组件 为了方便使用…

【Django】 读取excel文件并在前端以网页形式显示-安装使用Pandas

文章目录 安装pandas写views写urls安装openpyxl重新调试 安装pandas Pandas是一个基于NumPy的Python数据分析库&#xff0c;可以从各种文件格式如CSV、JSON、SQL、Excel等导入数据&#xff0c;并支持多种数据运算操作&#xff0c;如归并、再成形、选择等。 更换pip源 pip co…

Flink SQL 实时读取 kafka 数据写入 Clickhouse —— 日志处理(三)

文章目录 前言Clickhouse 表设计adlp_log_local 本地表adlp_log 分布式表 Flink SQL 说明创建 Source Table (Kafka) 连接器表创建 Sink Table (Clickhouse) 连接器解析 Message 写入 Sink 日志查询演示总结 前言 在之前的文章中&#xff0c;我们总结了如何在 Django 项目中进…

构建智慧水利系统,优化水资源管理:结合物联网、云计算等先进技术,打造全方位、高效的水利管理系统,实现水资源的最大化利用

本文关键词&#xff1a;智慧水利、智慧水利工程、智慧水利发展前景、智慧水利技术、智慧水利信息化系统、智慧水利解决方案、数字水利和智慧水利、数字水利工程、数字水利建设、数字水利概念、人水和协、智慧水库、智慧水库管理平台、智慧水库建设方案、智慧水库解决方案、智慧…

spring-boot3.x整合Swagger 3 (OpenAPI 3) +knife4j

1.简介 OpenAPI阶段的Swagger也被称为Swagger 3.0。在Swagger 2.0后&#xff0c;Swagger规范正式更名为OpenAPI规范&#xff0c;并且根据OpenAPI规范的版本号进行了更新。因此&#xff0c;Swagger 3.0对应的就是OpenAPI 3.0版本&#xff0c;它是Swagger在OpenAPI阶段推出的一个…

Unity判断鼠标是否在UI上

Unity判断鼠标是否在UI上 下值等于true表示在UI上 EventSystem.current.IsPointerOverGameObject()可用来判断滚轮滑动缩放视角功能&#xff0c;在UI上滑动滚轮视角不缩放&#xff0c;反之缩放。

Python开发日常总结

1、命令总结 1.1 conda创建、激活、退出虚拟环境 conda create --name myenv python3.8 # 创建 conda create --name myenv python3.9 # 激活 conda activate myenv # 退出 conda deactivate

产品系统的UI暗色系和浅色系模式切换是符合人体视觉工程学的设计

视觉革命&#xff1a;UI设计中的暗夜与黎明 UI设计如同夜空中最亮的星辰&#xff0c;引领着用户穿梭于信息的海洋。而今&#xff0c;一场视觉革命正在悄然上演&#xff0c;它关乎于我们的眼睛&#xff0c;关乎于我们的体验——那就是产品系统的UI暗色系和浅色系模式的切换。如…

手写一个JVM自定义类加载器

1. 自定义类加载器的意义 隔离加载类&#xff1a;在某些框架内进行中间件与应用的模块隔离&#xff0c;把类加载到不同的环境。比如&#xff1a;阿里内某容器框架通过自定义类加载器确保应用中依赖的jar包不会影响到中间件运行时使用的jar包。再比如&#xff1a;Tomcat这类Web…

Android lmkd机制详解

目录 一、lmkd介绍 二、lmkd实现原理 2.1 工作原理图 2.2 初始化 2.3 oom_adj获取 2.4 监听psi事件及处理 2.5 进程选取与查杀 2.5.1 进程选取 2.5.2 进程查杀 三、关键系统属性 四、核心数据结构 五、代码时序 一、lmkd介绍 Android lmkd采用epoll方式监听linux内…

SpringBoot整合阿里云短信业务

详细介绍SpringBoot整合阿里云短信服务的每一步过程&#xff0c;同时会将验证码存放到Redis中并设置过期时间&#xff0c;尽量保证实战的同时也让没做过的好兄弟也能实现发短信的功能~ 1. 注册阿里云账号和创建Access Key 首先&#xff0c;你需要注册一个阿里云账号&#xff0…

Flutter 使用 url_launcher的canLaunchUrl() 方法总是返回false错误

Flutter 使用 url_launcher的canLaunchUrl() 方法总是返回false错误 众所周知&#xff0c;我们一般使用url_launcher来打开各种应用&#xff0c;网页&#xff0c;手机应用等.... 但是最近发现Flutter的canLaunchUrl()方法总是返回false&#xff0c;这是为什么呢&#xff1f; …

Qt 实战(3)数据类型 | 3.2、QVariant

文章目录 一、QVariant1、存储数据1.1、存储Qt内置数据1.2、存储自定义数据 2、获取数据3、判断数据类型4、清空数据5、总结 前言&#xff1a; QVariant是Qt框架中一个非常强大且灵活的类&#xff0c;它提供了一种通用的方式来存储和转换几乎任何类型的数据。无论是基本数据类型…