欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > JavaEE-Maven

JavaEE-Maven

2025/6/13 16:45:25 来源:https://blog.csdn.net/2401_82609762/article/details/148582242  浏览:    关键词:JavaEE-Maven

maven

Maven是⼀个项⽬管理⼯具, 通过pom.xml⽂件的配置获取jar包,⽽不⽤⼿动去添加jar包。

maven简单, ⽅便, 提⾼我们的开发效率, 减少我们的开发Bug。

IDEA本⾝已经集成了Maven, 我们可以直接使⽤, ⽆需安装。

创建maven项目

name是项目名

location是项目路径

在build system选择maven create创建就行。

依赖的添加和管理都在pom文件里

项目构建

当我们开发了⼀个项⽬之后, 代码需要经过编译, 测试, 打包, 发布等流程, 每次代码的修改, 都需要经过这些流程, 如果代码反复调试修改, 这个流程就需要反复进⾏, 就显得特别⿇烦,, ⽽Maven 给我们提供了⼀套简单的命令来完成项⽬的构建.

在右边m点开就是maven的一些操作。

lifecycle是maven的生命周期,一些命令功能

package是打包

plugins是插件

打包就是把所有的class⽂件, 全部放在⼀起, 打成jar包或者war包

jar包和war包都是⼀种压缩⽂件

jar包就是把开发⼈员已经写好的⼀些代码进⾏打包. 打好的jar包就可以引⼊到其他项⽬中, 也可以直接使⽤这些jar包中的类和属性. 另外也可以打成可执⾏jar包, 这样的包就可以通过java -jar命令来执⾏

war包可以理解为是⼀个web项⽬,⾥⾯是项⽬的所有东西, 通常⽤于⽹站.

依赖管理

Maven是⼀个项⽬管理⼯具, 通过pom.xml⽂件的配置获取jar包,⽽不⽤⼿动去添加jar包

获取的jar包, 其实就是依赖.

pom.xml 就是maven 的配置⽂件,⽤以描述项⽬的各种信息

依赖: 指当前项⽬运⾏所需要的jar包.

如果不适用maven,那么就需要手动将jar包引入到项目中,有了maven,只需要添加对应的依赖就可以将jar包自动引入。

每次修改pom文件都需要通过maven刷新

添加依赖后自动引入了对应的jar包,这个jar包是从本地仓库取出来的,如果本地仓库没有,那么就会先从远端仓库下载到本地仓库,在从本地仓库取出来。

依赖传递

⽐如 A 依赖B, B依赖C, 那么 A项⽬引⼊B 的同时, 也需要引⼊C, 如果我们⼿动管理这个依赖, 这个过程就会⽐较⿇烦, 我们需要知道每个库都依赖哪些库, 以及这些依赖之间的版本是如何关联的

但使⽤maven的话, 就可以避免管理所需依赖的关系。我们只需要在pom⽂件中, 定义直接依赖就可以了, 由于maven的依赖具有传递性,所以会⾃动把所依赖的其他jar包也⼀起导⼊

如上图, 项⽬A 通过Maven 引⼊ Jar A 时, 会⾃动引⼊ Jar B 和Jar C.

Jar A 和项⽬B就是项⽬A的直接依赖.

Jar B, Jar C是间接依赖.

直接依赖:在当前项⽬中通过依赖配置建⽴的依赖关系间接依赖:被依赖的资源如果依赖其他资源,当前项⽬间接依赖其他资源

依赖排除

当前阶段我们需要依赖的库并不多, 但随着项⽬的越来越复杂, 库之间的依赖关系也会变得越来越复杂.

如上图中, 如果项⽬A不需要Jar B,也可以通过排除依赖的⽅式来实现.

排除依赖:

指主动断开依赖的资源。(被排除的资源⽆需指定版本)

可以看到mysql另外依赖着一个protobuf。

右键点击protobuf使用exclude就可以排除这个依赖。

这就是排除依赖的格式,本来是要自己写这个排除依赖的,这里是下载了一个叫maven help的插件,所以能够通过上面的界面点击exclude来自动生成排除依赖的语句。

插件下载

打开setting进入plugins,marketpiace查找下载插件,installed是已下载插件。

本地仓库

本地仓库: ⾃⼰计算机上的⼀个⽬录(⽤来存储jar包)

当项⽬中引⼊对应依赖jar包后,⾸先会查找本地仓库中是否有对应的jar包,如果有,则在项⽬直接引⽤

如果没有,则去中央仓库中下载对应的jar包到本地仓库

打开setting当中的maven,Local repository是本地仓库的路径

默认选这个,不行再选另一个

本地仓库存储路径修改

打上勾

复制路径,进入到本地仓库

找到.m2文件,复制。

之后在想要作为新本地仓库路径的地址新建一个目录,将.m2复制进去。

修改本地仓库路径

apply设置就可以了。

中央仓库

中央仓库: maven 软件中内置⼀个远程仓库地址,就是中央仓库,服务于整个互联⽹. 由 Maven 团队

这个仓库就是管理着jar包的仓库

维护,全球唯⼀.

仓库地址:中央仓库

可以通过https://mvnrepository.com 这个⽹站来查询依赖并通过maven下载jar包

我们可以把⾃⼰写好的Jar包上传到中央仓库(具备⼀定的要求), 也可以从中央仓库下载Jar包

查找jar包的坐标

首先访问 https://mvnrepository.com/

进⾏查找, ⽐如mysql

选择要添加的jar包

查看jar包的坐标,将坐标复制到pom.xml里面添加依赖就会自动下载

grouid是组织id,通常标识哪个组织,哪个公司开发的

第二个artifactID是项目id,到底是怎样的一个jar包

第三个version是版本。

修改镜像源

默认jar包的下载是去中央仓库下载的,但是下载速度可能会慢一些,所以可以设置国内的镜像源,加快下载的速度。

打上勾,去网上下载镜像源,我这里用的是阿里的,将镜像源下载到本地仓库的.m2文件里

apply就好了。

基本上所有的配置都要修改两次,一个是当前配置,一个是之后所有的项目配置。

 

一样的再修改一次。

私有服务器

私服: ⼀般由公司团队搭建的私有仓库,不对外开放,只对公司内部进行开放使用。

私服属于某个公司,或者某个部⻔, 往往需要⼀定权限.

有了私服之后, Maven依赖下载的顺序⼜发⽣了变化

当Maven需要下载资源的时候1. 先从本地仓库获取, 本地仓库存在, 则直接返回

如果本地仓库没有, 就从私服请求, 私服存在该资源, 就直接返回

如果私服上不存在该资源,则从中央仓库下载, 中央仓库不存在, 就报错了...

 如果中央仓库中存在, 就先缓存在私服上之后,再缓存到本地仓库⾥, 再为Maven的下载请求提供服务

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词