分享好友 行情首页 行情分类 切换频道
maven本地库配置以及依赖
2024-12-23 11:06  浏览:60

定义

Maven 是 Apache 软件基金会组织维护的一款自动化构建工具,专注服务于 Java 平台的项目构建和 依赖管理。

Maven去构建项目并不是简单的去创建一个项目,而是

1.将Java代码最后编译成 .class 文件

2.会将Web项目部署在指定的目录下

3.将项目中的Java程序、jsp页面、图片等资源,第三方jar包、配置文件等全部放在服

务器正确的位置上

构建的过程主要

1.清理:删除以前的编译结果,为重新编译做好准备。

2.编译:将 Java 源程序编译为字节码文件。

3.测试:针对项目中的关键点进行测试,确保项目在迭代开发过程中关键点的正确性。

4.报告:在每一次测试后以标准的格式记录和展示测试结果。

5.打包:将一个包含诸多文件的工程封装为一个压缩文件用于安装或部署。Java 工程对应 jar 包,Web 工程对应 war 包。

6.安装:在 Maven 环境下特指将打包的结果——jar 包或 war 包安装到本地仓库中。

7.部署:将打包的结果部署到远程仓库或将 war 包部署到服务器上运行。

Maven的自动化编译

在上面的整个过程中Maven都是从:清理 → 编译 → 测试 → 报告 → 打包 → 部署

它可以自动的从构建过程的起点一直执行到终点。

Maven 能够实现自动化构建是和它的内部原理分不开的,这里我们从Maven 的九个核心概念入手, 看看 Maven 是如何实现自动化构建的

  • 1.POM
  • 2.约定的目录结构
  • 3.坐标
  • 4.依赖管理
  • 5.仓库管理
  • 6.生命周期
  • 7.插件和目标
  • 8.继承
  • 9.聚合
Maven的核心概念 – 配置

Maven 的核心程序中仅仅定义了抽象的生命周期,而具体的操作则是由 Maven 的插

件来完成的。可是 Maven 的插件并不包含在 Maven 的核心程序中,在首次使用时需

要联网下载。

下载得到的插件会被保存到本地仓库中。本地仓库默认的位置是:~.m2 epository。

可以在配置文件中改变本地仓库的默认位置,还可以指定下载源。

配置文件路径:安装包 -->conf文件夹–>settings.xml文件
配置内容

maven本地库配置以及依赖

本地仓库
指定下载源:阿里云的maven仓库配置
jdk配置
Mavenue项目的目录结构

Maven约定的目录结构约定的目录结构对于 Maven 实现自动化构建而言是必不可少的

一环,我们在开发中如果需要让第三方工具或框架知道我们自己创建的资源在哪,那么

基本上就是两种方式

①通过配置的形式明确告诉它

②基于第三方工具或框架的约定

pom.xml程序的主配置文件
Maven 的坐标

使用如下三个向量在 Maven 的仓库中唯一的确定一个 Maven 工程。

[1]groupid:公司或组织的域名倒序+当前项目名称

[2]artifactId:当前项目的模块名称

[3]version:当前模块的版本

 

如何通过坐标到仓库中查找 jar 包

  1. 将 gav 三个向量连起来 com.px.maven+demomaven+0.0.1-SNAPSHOT
  2. 以连起来的字符串作目录结构到仓库中查找com/px/maven/demomaven/0.0.1-SNAPSHOT/Hello-0.0.1-SNAPSHOT.jar

注意:我们自己的 Maven 工程必须执行安装操作才会进入仓库。
安装的命令是:mvn install

Maven 的依赖

Maven 中最关键的部分,我们使用 Maven 最主要的就是使用它的依赖管理功能。

使用 dependency 标签指定被依赖 jar 包的坐标就可以了。

 
Maven 依赖的范围
  • compile
  • import
  • provided
  • runtime
  • system
  • test

依赖的范围我们用得到的是:compile、test、provided 三个值

 

Maven 依赖的传递性:项目A依赖项目B,项目B依赖项目C,D,E。

除了compile 其他都是不可见的。

Maven 依赖的排除: 使用 标签
Maven 依赖的统一管理依赖包

对同一个框架的一组 jar 包最好使用相同的版本。为了方便升级框架,可以将 jar 包的版本

信息统一提取出来。

依赖的原则:解决 jar 包冲突

1.路径最短者优先

A–>B–>C–>D–>(log 1.4)

E–>F–>(log 1.6)

P项目依赖A 和 E 则按照路径最短优先使用log 1.6

2.路径相同时先声明者优先

A–>B–>(log 1.4)

E–>F–>(log 1.6)

P项目依赖A 和 E ,两个项目路径一样长,先声明优先

Maven仓库分为

1.本地仓库:为当前本机电脑上的所有Maven工程服务

2.远程仓库:

(1)私服:架设在当前局域网环境下,为当前局域网范围内的所有 Maven 工程服务。

(2)中央仓库:架设在 Internet 上,为全世界所有 Maven 工程服务。

(3)中央仓库的镜像:架设在各个大洲,为中央仓库分担流量。减轻中央仓库的压力,同时

更快的响应用户请求。

不管是什么样的 jar 包,在仓库中都是按照坐标生成目录结构,所以可以通过统一的方式查询或依赖。

Maven 为什么需要继承

由于非 compile 范围的依赖信息是不能在“依赖链”中传递的,所以有需要的工程只能单独配置。

如何创建?

1.创建父工程

创建父工程 创建父工程和创建一般的 Java 工程操作一致,唯一需要注意的是:打包方式处

要设置为 pom。

2.在子工程中引用父工程

Maven 继承依赖管理
父pom文件中使用< dependencyManagement >
子pom文件中使用需要声明导入哪个jar
Maven使用聚合

将多个工程拆分为模块后,需要手动逐个安装到仓库后依赖才能够生效。修改源码后也需

要逐个手动进 行 clean 操作。而使用了聚合之后就可以批量进行 Maven 工程的安装、清理工作。

配置聚合

在总的聚合工程中使用 modules/module 标签组合,指定模块工程的相对路径即可

pom文件中使用需要声明导入哪个jar

[外链图片转存中…(img-3nXosmm6-1704448735494)]

Maven使用聚合

将多个工程拆分为模块后,需要手动逐个安装到仓库后依赖才能够生效。修改源码后也需

要逐个手动进 行 clean 操作。而使用了聚合之后就可以批量进行 Maven 工程的安装、清理工作。

配置聚合

在总的聚合工程中使用 modules/module 标签组合,指定模块工程的相对路径即可

    以上就是本篇文章【maven本地库配置以及依赖】的全部内容了,欢迎阅览 ! 文章地址:http://w.yusign.com/quote/2738.html 
     行业      资讯      企业新闻      行情      企业黄页      同类资讯      网站地图      返回首页 述古往 http://w.yusign.com/mobile/ , 查看更多   
最新新闻
苹果手机弯了怎么办(苹果手机弯了怎么办修要多少钱)
  苹果手机弯了怎么办  随着智能手机的普及,苹果手机因其卓越的性能和时尚的设计赢得了广大用户的喜爱。然而,有时候一些意
手机模拟电脑手柄(用手机模拟手柄接入电脑)
  文章标题:《手机模拟电脑手柄:科技与游戏的融合》  随着科技的飞速发展,智能手机的功能日益丰富,它们不再仅仅是简单的
金立手机助手(金立手机助手连接手机)
  金立手机助手:一站式手机管理与体验升级  随着智能手机的普及,手机已经成为我们日常生活中不可或缺的一部分。为了更好地
锤子手机维修(锤子手机维修点北京)
  锤子手机维修:全面解析手机维修流程与注意事项  一、引言  锤子手机以其出色的设计和性能赢得了众多用户的喜爱。然而,
钢琴手机(钢琴手机软件)
  《钢琴手机》:科技与艺术的完美融合  在当今时代,科技日新月异,艺术与文化也在不断地交融。而《钢琴手机》这一创新产品
哪款手机拍照最清晰(哪个手机拍照最好)
  关于哪款手机拍照最清晰:深度探讨与推荐  随着科技的飞速发展,手机摄影已经成为我们日常生活中不可或缺的一部分。越来越
查看手机品牌(中国手机品牌有哪些)
  查看手机品牌:了解当下流行的手机品牌及其特色  随着科技的飞速发展,智能手机已成为我们日常生活中不可或缺的一部分。市
手机怎么下载(手机怎么下载淘宝)
  手机怎么下载:从入门到精通  随着科技的飞速发展,智能手机已经成为我们日常生活中不可或缺的一部分。无论是娱乐、工作还
斗龙手机(下载斗龙)
  《斗龙手机》是一款集角色扮演、冒险、战斗等多种元素于一体的手机游戏。随着智能手机的普及,游戏行业蓬勃发展,而《斗龙手
双人能玩的手机游戏(双人玩的手机游戏有什么)
  双人能玩的手机游戏:增进友谊,共享乐趣  在当今数字化时代,手机游戏已经成为人们生活中不可或缺的一部分。其中,双人能
本企业新闻
推荐企业新闻
发表评论
0评