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

相关推荐
沈询-阿里33 分钟前
java-智能识别车牌号_基于spring ai和开源国产大模型_qwen vl
java·开发语言
AaVictory.39 分钟前
Android 开发 Java中 list实现 按照时间格式 yyyy-MM-dd HH:mm 顺序
android·java·list
LuckyLay1 小时前
Spring学习笔记_27——@EnableLoadTimeWeaving
java·spring boot·spring
向阳12181 小时前
Dubbo负载均衡
java·运维·负载均衡·dubbo
Gu Gu Study1 小时前
【用Java学习数据结构系列】泛型上界与通配符上界
java·开发语言
WaaTong2 小时前
《重学Java设计模式》之 原型模式
java·设计模式·原型模式
m0_743048442 小时前
初识Java EE和Spring Boot
java·java-ee
AskHarries2 小时前
Java字节码增强库ByteBuddy
java·后端
小灰灰__2 小时前
IDEA加载通义灵码插件及使用指南
java·ide·intellij-idea
夜雨翦春韭2 小时前
Java中的动态代理
java·开发语言·aop·动态代理