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.hqwc.cn/news/643776.html

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

相关文章

代码随想录算法训练营第四十六天| LeetCode139.单词拆分

一、LeetCode139.单词拆分 题目链接/文章讲解/视频讲解:https://programmercarl.com/0139.%E5%8D%95%E8%AF%8D%E6%8B%86%E5%88%86.html 状态:已解决 1.思路 单词明显就是物品,字符串s明显就是背包,那么问题就变成了物品能不能把背…

IDEA pom.xml依赖警告

IDEA中,有时 pom.xml 中会出现如下提示: IDEA 2022.1 升级了检测易受攻击的 Maven 和 Gradle 依赖项,并建议修正,通过插件 Package Checker 捆绑到 IDE 中。 这并不是引用错误,不用担心。如果实在强迫症不想看到这个提…

高精度模板

高精度模板 1. 高精度加法2. 高精度减法3. 高精度乘法4. 高精度除法 1. 高精度加法 高精度加法其实就是一个模拟过程,模拟我们正常计算。但是要注意的是,我们正常将两个数进行相加的时候说从右往左进行相加的,所以这里我们的字符串也是要从右…

每日一题---反转链表

文章目录 前言1.题目2.代码思路3.参考代码 前言 Leetcode—反转链表 1.题目 2.代码思路 3.参考代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/typedef struct ListNode ListNode; struct ListNode* reve…

【数据结构】单链表的逻辑结构和物理结构

🎈个人主页:豌豆射手^ 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:数据结构 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进…

【Java--数据结构】“从扑克到程序:深入探讨洗牌算法的原理与魅力“

前言 以下是学习Java顺序表的一个实例应用———简单的洗牌算法。 欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 目录 前言 定义每张扑克牌的属性 生成一副扑克牌(不包含大小王) 洗牌方法 发牌方…

开发区块链DApp应用,引领数字经济新潮流

随着区块链技术的飞速发展,分布式应用(DApp)正成为数字经济中的一股强劲力量。DApp以其去中心化、透明公正的特点,为用户带来了全新的数字体验,开创了数字经济的新潮流。作为一家专业的区块链DApp应用开发公司&#xf…

Linux内核之hook机制:call_void_hook用法实例(六十一)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

在线音乐播放网站项目测试(selenium+Junit5)

在做完在线音乐播放网站项目之后,需要对项目的功能、接口进行测试,利用测试的工具:selenium以及Java的单元测试工具Junit进行测试,下面式测试的思维导图,列出该项目需要测试的所有测试用例: 测试结果&#…

友盟+|如何通过阿里云 Flink+Paimon 实现流式湖仓落地方案

01 友盟介绍 友盟 以“数据智能,驱动业务增长”为使命,为移动应用开发者和企业提供包括统计分析、性能监测、消息推送、智能认证等一站式解决方案。截止 2023 年 6 月,已累计为 270 万移动应用和 980 万家网站,提供十余年的专业数…

Python自学之路--001:Python + PyCharm安装图文详解教程

目录 1、概述 2、Python解释器 2.1、下载 2.2、Python安装 2.3、Python环境变量配置,必选项 3、PyCharm安装 3.1、PyCharm下载 3.2、PyCharm安装 4、建一个Hello World 5、Phcarm设置 5.1、Phcarm汉化 5.2、Phcarm工具栏显示在顶部 5.3、Phcarm通过pip安…

【服务器部署篇】Linux下Ansible安装和配置

作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是,产…