2024年最新Python高级面试题库,超级详细的Maven使用教程_mavn使用学习(1),关于Python开发的面试经验总结

收集整理了一份《2024年最新Python全套学习资料》免费送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Python知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来

如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
img

正文

–groupId:定义当前Maven项目隶属项目

  • groupld :定义当前Maven项目隶属的实际项目。首先, Maven项目和实际项目不-定是一-对一 -的关系。比如SpringFrameWork这一实际项目,其对应的Maven项目会有很多,如spring-core spring-contex等。这是由于Maven中模块的概念,因此,一个实际项目往往会被划分成很多模块。其次,groupld不应该对应项目隶属的组织或公司。原因很简单, -个组织下会有很多实际项目,如果groupld只定义到组织级别,而后面我们会看到 , aifactd只能定义Maven项目(模块) , 那么实际项目这个层次将难以定义。最后, groupld的表示方式与Java包名的表达方式类似,通常与域名反向一对应。

–artifactId:定义实际项目中的一个模块

  • artifactld :该元素定义当前实际项目中的一-个Maven项目(模块) , 推荐的做法是使用实际项目名称作为artifactld的前缀。比如上例中的my-app。

–version:定义当前项目的当前版本

  • version :该元素定义Maven项目当前的版本

–packaging:定义该项目的打包方式

  • packaging :定义Maven项目打包的方式,首先,打包方式通常与所生成构件的文件扩展名对应,如上例中的packaging为jar,最终的文件名为my-app-0.1-SNAPSHOT.jar。也可以打包成war, ear等。当不定义packaging的时候 , Maven会使用默认值jar
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>cn.rjxy.maven</groupId>
    <artifactId>Hello</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>Hello</name>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
			<artifactId>junit</artifactId>
            <version>4.9</version>
            <scope>test</scope>
        </dependency>
     </dependencies>
</project>

Maven为什么使用坐标?

  • Maven世界拥有大量构建,我们需要找一个用来唯一标识一个构建的统一规范
  • 拥有了统一规范,就可以把查找工作交给机器

2、 依赖的范围

依赖声明主要包含如下元素:

<dependencies>
        <dependency>
            <groupId>junit</groupId>
			<artifactId>junit</artifactId>
            <version>4.9</version>
            <scope>test</scope>
        </dependency>
</dependencies>

其中依赖范围scope 用来控制依赖和编译,测试,运行的classpath的关系. 主要的是三种依赖关系如下:

  1. compile: 默认编译依赖范围。对于编译,测试,运行三种classpath都有效
  2. test:测试依赖范围。只对于测试classpath有效
  3. provided:已提供依赖范围。对于编译,测试的classpath都有效,但对于运行无效。因为由容器已经提供,例如servlet-api(Tomcat)
  4. runtime:运行时提供。例如:jdbc驱动

image-20210924130351620

3、仓库管理

什么是Maven仓库?

用来统一存储所有Maven共享构建的位置就是仓库

Maven仓库布局

  • 根据Maven坐标定义每个构建在仓库中唯一存储路径

image-20210924135028633

仓库的分类

  • 本地仓库
    ~/.m2/repository/(默认的仓库目录)
    每个用户只有一个本地仓库(需要从中央仓库中下载资源存到本地仓库)

  • 远程仓库

    • 中央仓库:Maven默认的远程仓库 http://repo1.maven.org/maven2
    • 私服:是一种特殊的远程仓库,它是架设在局域网内的仓库

    image-20210924135412539

    • 镜像:用来替代中央仓库,速度一般比中央仓库快

4、 生命周期

何为生命周期?

  • Maven生命周期就是为了对所有的构建过程进行抽象和统一
  • 包括项目清理,初始化,编译,打包,测试,部署等几乎所有构建步骤

Maven三大生命周期

  • clean:清理项目的
  • default:构建项目的
  • site:生成项目站点的

生命周期Maven有三套相互独立的生命周期,请注意这里说的是“三套”,而且“相互独立”,这三套生命周期分别是:

  • Clean Lifecycle 在进行真正的构建之前进行一些清理工作。
  • Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等。
  • Site Lifecycle 生成项目报告,站点,发布站点。

注意:

  • 再次强调一下它们是相互独立的,你可以仅仅调用clean来清理工作目录,仅仅调用site来生成站点。当然你也可以直接运行 mvn clean install site 运行所有这三套生命周期。

Clean生命周期包含了三个阶段:

最后

🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。
🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。
🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
[外链图片转存中…(img-ZEPh97rG-1713851759354)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值