Maven:配置与使用指南1

news2024/10/6 1:43:08

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.coloradmin.cn/o/1619309.html

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

相关文章

SpringBoot xxl-job 任务调度

首先官网下载xxl-job的源代码,然后切换到jdk8,等Maven下载依赖 执行mysql的脚本,修改连接配置,启动admin站点 默认地址 http://localhost:8080/xxl-job-admin/ 先新增一个任务执行器,指向未来任务代码的站点 然后在…

数学建模完整版

模型与适用题型 微分方程传染病预测模型 神经网络 层次分析法 粒子群算法 matlab 优劣解距离法

计算机组成原理—数据的表示和运算

二进制:2进1 八进制里的1位对应二进制里的三位 重点:转换为10进制

git常见命令(成长版)

ps:所谓成长版就是后续可能还会添加命令: 1.删除本地分支: git branch -d 分支名 2.拉取代码后默认master分支,切换到线上其他分支: (1)查看线上所有分支: git branch -a &#…

比特币之路:技术突破、创新思维与领军人物

比特币的兴起是一段充满技术突破、创新思维和领军人物的传奇之路。在这篇文章中,我们将探讨比特币发展的历程,以及那些在这一过程中发挥重要作用的关键人物。 技术突破与前奏 比特币的诞生并非凭空而来,而是建立在先前的技术储备之上。在密码…

贪心算法-活动安排问题和背包问题

实验6贪心算法-活动安排问题和背包问题 实验目的: 理解贪心算法的基本思想运用贪心算法解决实际问题 实验内容: 采用贪心方法编程实现以下问题的算法 1.如何安排下列活动使得使用的活动场所最少,并给出具体的安排方法。 活动 a b c …

全新Storm Core API管理系统源码 免授权版

全新Storm Core API管理系统源码 免授权版 本系统为API系统,实现了api集成等基础功能,以后可能会更新key调用api,或者实现付费功能,敬请期待,前端模板均无加密,用户可自行二开,具体请看图 测试环境:PHP7.2+MySQL5.6 访问:http://你的域名/install 进行安装 伪静态…

AIGC实战——基于Transformer实现音乐生成

AIGC实战——基于Transformer实现音乐生成 0. 前言1. 音乐生成的挑战2. MuseNet3. 音乐数据3.1 巴赫大提琴组曲数据集3.2 解析 MIDI 文件3.3 分词3.4 创建训练数据集 4. MuseNet 模型4.1 正弦位置编码4.2 多输入/输出 5. 音乐生成 Transformer 的分析6. 多声部音乐分词6.1 网格…

含匹配扰动的多智能体领航跟随一致性Matlab仿真

文章目录 [TOC](文章目录) 前言一、问题描述二、基于LQR的观测器和控制器设计1.观测器设计2.控制器设计 三、数值仿真四、参考文献总结 前言 ​本文探讨了带有匹配扰动的多智能体领航跟随一致性控制方法,并提供了相应的Matlab仿真代码。 具体的设计步骤如下&#…

Algorius Net Viewer 2024.2.1 (Windows) - 网络可视化、管理、监控和清点

Algorius Net Viewer 2024.2.1 (Windows) - 网络可视化、管理、监控和清点 Comprehensive software product for visualizing, administering, monitoring, and inventorying computers network of any level 请访问原文链接:Algorius Net Viewer 2024.2.1 (Windo…

【动态规划】C++ 子序列问题(递增子序列、数对链、定差子序列、斐波那契子序列...)

文章目录 1. 前言2. 例题最长递增子序列 3. 算法题3.1_摆动序列3.2_最长递增子序列的个数3.3_最长数对链[3.4_ 最长定差子序列](https://leetcode.cn/problems/longest-arithmetic-subsequence-of-given-difference/description/)3.5_最长的斐波那契子序列的长度3.6_最长等差数…

剪画APP动漫AI工具|短剧轻松变动漫,开辟出海新方向

近期,剪画全新升级“AI动漫”功能,让创作者们打开全新的视频创作方式。 这个功能把我们的短剧作品快速转化为动漫风格,非常精准和细腻 在剪画将AI动漫功能升级后,越来越多的使用者将短剧变身成动漫效果发布到平台后,…

Git 保姆级教程(一):Git 基础

一、获取 Git 仓库 通常有两种获取 Git 项目仓库的方式: 1. 将尚未进行版本控制的本地目录转换为 Git 仓库; 2. 从其它服务器克隆 一个已存在的 Git 仓库。 两种方式都会在你的本地机器上得到一个工作就绪的 Git 仓库。 1.1 git init(本地…

Fisher判别示例:鸢尾花(iris)数据(R)

先读取iris数据,再用程序包MASS(记得要在使用MASS前下载好该程序包)中的线性函数lda()作判别分析: data(iris) #读入数据 iris #展示数据 attach(iris) #用变量名绑定对应数据 library(MASS) #加载MASS程序包 ldlda(Species~…

c++的策略模式,就是多态

一、定义: 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。 策略模式让算法独立于使用它的客户而独立变化。 二,核心 抽象策略(抽象基类)(Strategy&#xff09…

Fork for Mac v2.42 激活版 Git客户端

Fork for Mac是一款运行在Mac平台上的Git客户端,Fork Mac版具备基本的取、推、提交、修改、创建和删除分支和标签、创建和删除远程备份等功能,还有实用的差异查看器,你可以通过清晰的视图快速发现源代码中的更改。 Fork for Mac v2.42 激活版…

【C++】优先队列

优先队结构的不同物理结构与常用操作算法 优先队列是一种特殊的队列,队列中的元素具有优先级,每次弹出操作会弹出优先级最高的元素。 优先队列常用的物理结构有: 1. 数组:简单但不高效,插入和删除操作需要移动大量元素,时间复杂度高。 2. 二叉堆:是一种完全二叉树,通常用数…

在Jupyter notebook中添加虚拟环境

通常我们打开Jupyter notebook,创建一个新文件,只有一个Python3,但是我们也会想使用自己创建的虚拟环境,很简单仅需几部即可将自己的conda环境添加到jupyter notebook中。 1. 创建并激活conda环境(已有可跳过&#xf…

【QT进阶】Qt http编程之实现websocket server服务器端

往期回顾 【QT进阶】Qt http编程之json解析的简单介绍-CSDN博客 【QT进阶】Qt http编程之nlohmann json库使用的简单介绍-CSDN博客 【QT进阶】Qt http编程之websocket的简单介绍-CSDN博客 【QT进阶】Qt http编程之实现websocket server服务器端 一、最终效果 通过ip地址和端口…

Redis入门到通关之Redis数据结构-Hash篇

文章目录 ☃️ 概述☃️底层实现☃️源码☃️其他 欢迎来到 请回答1024 的博客 🍓🍓🍓欢迎来到 请回答1024的博客 关于博主: 我是 请回答1024,一个追求数学与计算的边界、时间与空间的平衡,0与1的延伸的后…