【Spring】1. Maven项目管理

2024-07-11 1053阅读

【Spring】1. Maven项目管理

📚博客主页:爱敲代码的小杨.

✨专栏:《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 |《MySQL探索之旅》 |《Web世界探险家》

❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️

🙏小杨水平有限,欢迎各位大佬指点,相互学习进步!


小杨近些在学习人工智能方面的知识,发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

【Spring】1. Maven项目管理

文章目录

  • 1. 什么是 Maven
  • 2. 创建 Maven 项目
  • 3. Maven 的作用
    • 3.1 统一项目结构
    • 3.2 项目构建
    • 3.3 依赖管理
      • 依赖配置
      • 依赖传递
      • 依赖排除
      • 4. Maven 仓库
        • 4.1 本地仓库
        • 4.2 中央仓库
          • 查找 jar 包的地址
          • 4.3 私有服务器,也称私服
          • 4.4 Maven 设置国内源

            1. 什么是 Maven

            官方描述:

            Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting and documentation from a central piece of information.

            翻译:Apache Maven是一个软件项目管理和理解工具。基于项目对象模型(POM)的概念,Maven可以从一个中心信息片段管理项目的构建、报告和文档

            Maven 是⼀个项目管理工具, 通过 pom.xml文件的配置获取 jar包,而不用手动去添加 jar包。

            前面学习 JDBC 的时候,就需要手动的去添加 jar包,学习了 Maven 就不用去手动添加 jar包了,只需要添加几行代码就可以添加 jar包了。

            【Spring】1. Maven项目管理

            🚩:为什么要学习 Maven?

            简单, 方便, 提高我们的开发效率, 减少我们的开发Bug.

            2. 创建 Maven 项目

            IDEA 本身已经集成了 Maven , 我们可以直接是用, 无需安装

            1. File -> New -> Project

            【Spring】1. Maven项目管理

            1. 填写项目名、存放位置、创建方式选择 Maven、选择JDK版本

            【Spring】1. Maven项目管理

            1. 点击Create,就创建好了 Maven 项目

            【Spring】1. Maven项目管理

            3. Maven 的作用

            3.1 统一项目结构

            统一项目结构:提供标准、统一的项目结构

            任何编译器创建 Maven 项目,其项目的结构都是一样的

            【Spring】1. Maven项目管理

            3.2 项目构建

            Maven 提供了标准的,跨平台(Linux, Windows, MacOS等)的自动化项目构建方式

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

            【Spring】1. Maven项目管理

            比如:是用package命令就可以对项目进行打包操作

            【Spring】1. Maven项目管理

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

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

            1. jar包就是把开发人员已经写好的⼀些代码进行打包. 打好的 jar包就可以引入到其他项目中, 也可以直接是用这些 jar包中的类和属性. 另外也可以打成可执行 jar包, 这样的包就可以通过 java -jar命令来执行
            2. war包可以理解为是⼀个web项目,里面是项目的所有东西, 通常用于网站.

            3.3 依赖管理

            依赖管理:方便快捷的管理项目的依赖的资源(jar包),避免版本冲突的问题

            pom.xml就是 Maven 的配置文件,用来描述项目的各种信息

            依赖配置

            依赖:只当前项目运行的所需要的 jar包

            比如:学习 JDBC 的时候,我们需要手动下载mysql-connector-java-5.1.47的包,并添加到项目中

            【Spring】1. Maven项目管理

            如果是用 Maven, 我们只需要在pom.xml中引入mysql-connector-java的依赖就可以了

              
            
            
            1. 在pom.xml文件中标签内,添加依赖坐标
              
                mysql
                mysql-connector-java
                5.1.47
              
            
            
            1. 点击刷新按钮, 引入新加入的依赖jar包

            后续有添加新的jar包, 或者修改jar包版本, 都需要通过该方式在项目中添加依赖.

            【Spring】1. Maven项目管理

            1. 刷新完之后, 就可以在项目中看到新加入的jar包

            【Spring】1. Maven项目管理

            依赖传递

            早期我们没有是用 maven时, 向项目中添加依赖的jar包,需要把所有的jar包都复制到项目工程下.

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

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

            【Spring】1. Maven项目管理

            如上图, 项目A 通过Maven 引入 Jar A 时, 会自动引入 Jar B 和 Jar C.

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

            Jar B, Jar C是间接依赖.

            1. 直接依赖:在当前项目中通过依赖配置建立的依赖关系
            2. 间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源

            依赖排除

            • 排除依赖指主动断开依赖的资源,被排除的资源无需指定版本。
                org.springframework
                spring-core
                6.0.6
                
                
                  
                    spring-jcl
                    org.springframework
                  
                
              
              

              4. Maven 仓库

              通过几行代码就可以把需要的 jar包放进项目中,是如何做到的呢?

                
                  mysql
                  mysql-connector-java
                  5.1.47
                
              
              

              这个代码, 我们称之为 “坐标”, 也就是唯一的.

              在 Maven中,根据groupId、artifactId、version的配置,来唯一识别一个 jar包,缺一不可。

              当我们在pom.xml文件中配置完依赖之后, 点击刷新, Maven会根据坐标的配置, 去仓库里寻找 jar包, 并把他下载下来, 添加到项目中. 这个jar包下载的地方就称为仓库.

              仓库:用于存储资源,管理各种jar包

              【Spring】1. Maven项目管理

              Maven仓库的本质就是⼀个目录(文件夹),这个目录被用来存储开发中所有依赖(jar包, 插件等).

              【Spring】1. Maven项目管理

              Maven仓库分为两大类: 本地仓库和远程仓库. 其中远程仓库又分为中央仓库, 私服 和其他公共库

              4.1 本地仓库

              本地仓库: 自己计算机上的一个目录(用来存储jar包)

              当项目中引入对应依赖jar包后,首先会查找本地仓库中是否有对应的jar包

              • 如果有,则在项目直接引入
              • 如果没有,则去中央仓库中下载对应的jar包到本地仓库

                【Spring】1. Maven项目管理

                idea配置 Maven

                file->Settings->Maven

                【Spring】1. Maven项目管理

                查看该仓库目录 可以看到该目录下有很多的jar(最开始是空的, 随着Maven的使用, 该仓库下文件会越来越多)

                【Spring】1. Maven项目管理

                4.2 中央仓库

                中央仓库: maven 软件中内置⼀个远程仓库地址,就是中央仓库,服务于整个互联网. 由 Maven 团队维护,全球唯一.

                仓库地址:网址

                可以通过https://mvnrepository.com 这个网址来查询并下载jar包

                查找 jar 包的地址

                1. 访问 https://mvnrepository.com
                2. 进行查找,比如 mysql

                【Spring】1. Maven项目管理

                1. 选择添加的 jar包

                【Spring】1. Maven项目管理

                1. 查看 jar包坐标

                【Spring】1. Maven项目管理

                4.3 私有服务器,也称私服

                私服:一般由公司搭建的私有仓库。

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

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

                【Spring】1. Maven项目管理

                当Maven需要下载资源的时候

                1. 先从本地仓库获取, 本地仓库存在, 则直接返回
                2. 如果本地仓库没有, 就从私服请求, 私服存在该资源, 就直接返回
                3. 如果私服上不存在该资源,则从中央仓库下载, 中央仓库不存在, 就报错了…
                4. 如果中央仓库中存在, 就先缓存在私服上之后,再缓存到本地仓库⾥, 再为Maven的下载请求提供服务

                4.4 Maven 设置国内源

                因为中央仓库在国外, 所以下载起来会⽐较慢, 所以咱们选择借助国内⼀些公开的远程仓库来下载资源

                如何设置国内源

                File->Settings

                【Spring】1. Maven项目管理

                1. 查看配置文件的地址, 如上图所示, Maven配置文件地址为:‪C:\APP\Java\apache-maven-3.6.1\conf\settings.xml

                不同电脑设置的Maven路径不同

                settings和 repository 可以修改设置为其他路径, 两个路径不要有中⽂

                1. 配置国内源

                Maven 仓库默认是在国外官网, 国内使用时会比较慢,我们可以更换为阿里云的仓库

                打开settings.xml, 在 mirrors 节点上,添加内容如下:

                  aliyunmaven
                  central
                  阿⾥云公共仓库
                  http://maven.aliyun.com/nexus/content/groups/public/
                
                

                【Spring】1. Maven项目管理

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]