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

相关推荐
禁默13 分钟前
深入浅出:AWT的基本组件及其应用
java·开发语言·界面编程
Cachel wood19 分钟前
python round四舍五入和decimal库精确四舍五入
java·linux·前端·数据库·vue.js·python·前端框架
Code哈哈笑22 分钟前
【Java 学习】深度剖析Java多态:从向上转型到向下转型,解锁动态绑定的奥秘,让代码更优雅灵活
java·开发语言·学习
gb421528725 分钟前
springboot中Jackson库和jsonpath库的区别和联系。
java·spring boot·后端
程序猿进阶25 分钟前
深入解析 Spring WebFlux:原理与应用
java·开发语言·后端·spring·面试·架构·springboot
zfoo-framework33 分钟前
【jenkins插件】
java
风_流沙38 分钟前
java 对ElasticSearch数据库操作封装工具类(对你是否适用嘞)
java·数据库·elasticsearch
ProtonBase1 小时前
如何从 0 到 1 ,打造全新一代分布式数据架构
java·网络·数据库·数据仓库·分布式·云原生·架构
乐之者v1 小时前
leetCode43.字符串相乘
java·数据结构·算法