Maven:配置与使用指南1

https://mvnrepository.com

Maven

1.maven简介

不同模块的jar包以及同时设计的功能的微小变化版本;

真实的开发环境:我们将我们的源代码在服务器上重新编译重新打包,工程升级维护过程繁琐

1.Maven是一个项目管理工具,将项目开发和管理过程抽象成一个对象模型(POM)
POM(Project Object Model)	项目对象模型2.Maven认为一切项目皆对象(底层是Java开发),对象的属性以及各种行为是通过POM.xml文件加载;3.Maven认为项目对象POM是一个资源,且Maven提供依赖管理。所有的项目都是资源,所有的资源也都可以相互调用;

绿色的东西是我们要学的,橙色的是maven部署好了;

–项目构建

–依赖管理

1.2.maven统一开发结构

在这里插入图片描述

2.Maven的下载与安装

2.1直接找到官网,下载二进制文件,source文件选好版本;

在这里插入图片描述

2.2直接解压到当前文件夹改名字即可

2.3maven目录结构

bin目录是maven的可执行文件

maven运行的是bin/mvn这个核心文件

此文件需要读取JAVA_HOME因此需要提前配置好 略

接下来也需要配置MAVEN_HOME

boot目录

里面有一个jar包

此jar包是maven的类加载器

conf是配置管理

lib是maven程序运行时所依赖的jar包

2.4Maven环境变量MAVEN_HOME设置

首先将MAVEN_HOME 配置到系统变量

其次将Path 新建 %MAVEN_HOME%\bin
在这里插入图片描述

最终配置完成后验证

cmd窗口输入mvn如下:

在这里插入图片描述

3.仓库的概念

仓库:存储各种jar包

本地主机,私服(公司服务器仓库),中央仓库

若本地主机没有某个jar包,jar包加载过程

在这里插入图片描述

因此本地叫 本地仓库;

其他的私服,中央仓库,都属于 远程仓库

中央仓库Maven维护,jar包全服开放;

4.坐标

maven对每个资源进行定位的方式:坐标

4.1maven坐标组成

groupid 表示maven的隶属组织名称

artifactid 项目名称

version 版本号

packaging 定义该项目的打包方式

5.Maven仓库配置

默认本地仓库位置 用户.m2文件夹下

C:\user\.m2\repository

5.1本地仓库默认位置配置

修改conf文件夹下setting.xml 修改localrepository

在这里插入图片描述

注释去掉进行修改即可;

在这里插入图片描述

5.2远程仓库默认位置配置

maven的中央仓库的来源自阿帕奇;国外服务器

在这里插入图片描述

5.3修改源

阿里云镜像

http://maven.aliyun.com/nexus/content/groups/public

在这里插入图片描述

修改mirror然后mirrorOf修改为central,未来中央仓库不再寻找阿帕奇,而是寻找阿里云

5.4全局setting与用户setting区别

全局setting定义当前计算机的maven配置

用户setting定义当前用户的maven配置

6.创建Maven项目

6.1项目结构

在这里插入图片描述

main写程序,test写测试程序

main中还有两个一个是java,一个resources

resources放置配置文件;

一般来说src的同层文件下有一个文件POM.xml

在这里插入图片描述

对于package填充内容如果写完仅仅是一个jar包,那么最后就是写jar

dependencies放置所有的依赖;

关于pom文件的结构;

1.每个项目都有自己的坐标

2.每个dependencies内部都有别人的项目坐标作用将别人的项目拉进来;

6.2项目构建

一些常用的Maven命令

mvn compile					#编译
mvn clean					#清理
mvn test					#测试
mvn package					#打包
mvn install					#安装到本地仓库

之前的驱动类;因为package是jar,因此将其进行编译后,得到的是一个jar包,因此直接可以使用,服务器;

如果编译成jar包,那么直接放到maven的repository

在这里插入图片描述

编译完成后,会生成一个target目录,target目录就是最终项目编译完成的结果

mvn clean可以直接将target东西全部删除,甚至目录也直接删除;

测试完成后会产生一个报告放到target

打开即可看到测试报告

mvn package

将自己的程序进行打包,且打包只打包自己的源程序

compile–>test conpile–>test–>jar

mvn install

就是将你现在打包的程序放到repository

6.3WEB结构

web结构目录会多一个webapp

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

xv6源码分析 011

xv6源码分析 011 今天我们结束proc.h和proc.c这一块。 wakeup(void *chan) 这个函数用于唤醒所有在这个channel结构上睡眠的进程&#xff0c;类似于我们c中的notify_all()。 void wakeup(void *chan) {struct proc *p;for(p proc; p < &proc[NPROC]; p) {acquire(&a…

模拟LinkedList实现的链表(无哨兵)

1.前言 我们将LinkdList视作链表, 底层设计了内部类Node类, 我这里依然没有用到泛型, 其实加上泛型依然很简单, 即将Node节点的数据域的类型由Int转换为E(<E>), 我在此不做赘述.同时实现了增删查改, 遍历等操作. 2.链表(无哨兵)的代码实现 public class LinkListTest …

基于Promise + XHR 封装myAxios函数

在JavaScript中&#xff0c;你可以使用Promise和XMLHttpRequest&#xff08;XHR&#xff09;来封装一个名为myAxios的函数&#xff0c;用于执行HTTP请求。下面是一个简单的示例&#xff0c;它封装了GET和POST请求的基本功能&#xff1a; function myAxios(url, method GET, da…

matlab回归学习

前言 所谓回归学习即预测&#xff0c;便是由已知的数据推测未知的数据&#xff0c;利用转速与转矩来推测电流。 1、数据准备 下面虚拟一组转速转矩以及电流数据。 speed [100 220 330 440 550 660]; torque [200 300 400 500 700 900]; I [400 500 603 739 821 912]; arr …

DataGrip操作Oracle

一、创建表空间 表名任意起&#xff0c;路径自己指定 -- 创建表空间 create tablespace mydb1 -- 表名 datafile E:\Code\sql\oracle\oracle_tablespace\mydb1.dbf --指定表空间路径 size 100M --指定表空间大小 autoextend on next 50M --指定一次扩充多少mb extent managemen…

万兆以太网MAC设计(7)ARP协议报文格式详解以及ARP层模块设计

文章目录 前言&#xff1a;1、ARP协议详解2、ARP工作机制 二、ARP_RX模块设计三、ARP_TX模块设计四、ARP_table模块5、仿真5.1、发送端5.2、接收端5.3、缓存表 总结 前言&#xff1a; 1、ARP协议详解 ARP数据格式&#xff1a; 硬件类型:表示硬件地址的类型。它的值为1表示以太…

ocr文字识别软件是干什么的?

OCR&#xff08;Optical Character Recognition&#xff0c;光学字符识别&#xff09;文字识别软件是一种能够将图像或者扫描的文档中的文字内容转换为可编辑的文本格式的软件。它的主要功能包括&#xff1a; 1. **文字提取&#xff1a;**识别图像中的文字并提取出来&#xff0…

Android Radio实战——获取音频补丁(二十)

音频补丁是一种音频处理技术,主要通过在音频信号中加入特定的噪声或信号,来掩盖或弥补原始音频中的缺陷或不足。这种技术广泛应用于音频制作、音乐处理、语音识别等领域,旨在提高音频的质量和听感。 一、获取流程 在 Radio 开发中获取音频补丁的操作通常在 openSession 之…

spring的扩展接口

spring的扩展接口 spring提供了一些扩展接口来对spring进行定制化功能&#xff0c;可以选择如下一些扩展点&#xff1a; BeanFactoryPostProcessor beanFactory后置处理器&#xff0c;存在于容器启动阶段&#xff0c;支持在bean factory标准初始化完成后&#xff0c;对bean fac…

VMware虚拟机ens33没有IP的解决办法

1.关闭NetworkManager服务 2.systemctl stop NetworkManager 3.systemctl restart network.service 4.service network restart [rootlocalhost network-scripts]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 …

MAVEN的安装与配置

MAVEN的安装与配置 1 简介 1.1 什么是MAVEN? Maven是一个项目构建及管理工具&#xff0c;开发团队几乎不用花多少时间就能够自动完成工程的基础构建配置&#xff0c; Maven 使用了一个标准的目录结构在不同开发工具中也能实现项目结构的统一。Maven提供了清理&#xff0c;编…

Lambda表达式特点

Lambda 表达式是 Java 8 引入的一项重要特性&#xff0c;它们提供了一种更简洁的方式来表达匿名函数。Lambda 表达式允许你将一段代码传递给方法&#xff0c;而不是显式创建一个实现了接口的匿名内部类。Lambda 表达式通常用于实现单个抽象方法的接口&#xff08;即函数式接口&…

C# 预处理器指令详解与示例

前言 在软件开发中&#xff0c;我们常常需要编写可移植和可配置的代码。C# 预处理器指令为我们提供了这样的能力&#xff0c;它允许我们在编译代码之前进行条件编译和文本替换。在本篇文章中&#xff0c;我们将详细介绍C#预处理器指令的定义、语法格式、功能以及在实际编程中的…

javaEE初阶——多线程(九)——JUC常见的类以及线程安全的集合类

T04BF &#x1f44b;专栏: 算法|JAVA|MySQL|C语言 &#x1faf5; 小比特 大梦想 此篇文章与大家分享多线程专题的最后一篇文章:关于JUC常见的类以及线程安全的集合类 如果有不足的或者错误的请您指出! 目录 3.JUC(java.util.concurrent)常见的类3.1Callable接口3.2 RentrantLoc…

超级好看动态视频官网源码

源码介绍 超级好看动态视频引导页源码&#xff0c;源码由HTMLCSSJS组成&#xff0c;记事本打开源码文件可以进行内容文字之类的修改&#xff0c;双击html文件可以本地运行效果&#xff0c;也可以上传到服务器里面&#xff0c;重定向这个界面 效果截图 源码下载 超级好看动态…

Android IPC | Android多进程模式

前 言 关于Android的进程间通信&#xff08;即IPC&#xff09;有很多种方式&#xff0c;比如我们常用的AIDL、Socket等&#xff0c;而其中最重要而且最需要掌握的就是AIDL的使用和原理&#xff0c;简单来说它是通过Binder实现的。 关于Binder的知识点非常多&#xff0c;当我们…

三角函数与其他复杂函数在C语言中的实现:CORDIC算法、泰勒公式、查表法与math库详解

在C语言中实现三角函数&#xff0c;通常有四种主要方法&#xff1a;CORDIC算法、泰勒公式展开、查表法以及直接调用C语言的标准数学库。接下来我们将详细介绍这四种方法&#xff0c;并探讨其他可能的补充实现手段。 1. CORDIC算法 CORDIC&#xff08;Coordinate Rotation Dig…

MySQL数据库触发器

用途&#xff1a;订单表table01&#xff0c;运单表table02。 首先有订单表有记录/但是刚开始只有订单号/没有运单号&#xff1b; INSERT INTO testdb.table01 (id, orderid, transportid) VALUES(4, order04, ); 然后运单表有记录/记录有运单号。 INSERT INTO testdb.table…

【2024中高级向】22道前端面试题附答案

以下是问题总览&#xff1a;不会的点击右侧目录对应的问题即可跳转到答案 webpack 中 chunkHash 与 contentHash 区别&#xff1b;写过 webpack 的 loader 和 plugin 么&#xff1b;webpack 处理 image 是用哪个 loader&#xff0c;限制成 image 大小的是哪个&#xff1f;webp…

你如何看待AIGC技术?

你如何看待AIGC技术&#xff1f; AIGC技术&#xff08;Artificial Intelligence Generated Content&#xff09;是指由人工智能生成的内容。它在许多领域都有应用&#xff0c;包括自然语言处理、图像生成、音频合成等。虽然这些技术可以提高效率和创造力&#xff0c;但也需要注…