栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

学习记录之maven 22.05.19

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

学习记录之maven 22.05.19

引入: 在使用 mybatis 操作 jdbc 的过程中,能感觉到 jar 包的使用频繁起来,并且每次写新的项目,都需要去寻找需求的 jar 包,并且 jar 包的版本也需要自行对比匹配,管理非常麻烦,此时就需要一款新的框架帮助我们管理 jar 包

maven: 一款帮助我们实行 jar 包和项目管理以及自动构建:编译、测试、打包、发布的框架

定位:在 maven 框架中,jar 包的定位需要3个必要标签:groupId、artifactId、version

groupId: 包名

artifactId: 项目名

version: 版本号

下载地址:Maven – Download Apache Maven

安装:解压到无中文字符无空格的路径下

配置本地仓库:maven 根路径下 conf/setting.xml 在settings 标签中添加

E:/Software/apache-maven-3.6.3/repository

路径文件名自行新建文件夹即可

配置阿里仓库:在 miroors 标签内添加


	   
	  alimaven  
	  aliyun maven  
	  http://maven.aliyun.com/nexus/content/groups/public/  
	  central          
	

创建maven项目:略

依赖:

使用dependency指定依赖:


    javax.servlet
    javax.servlet-api
    3.1.0

另外,dependency标签还拥有另一个子标签:scope,主要功能为控制 jar 包的作用域

比较常用的三个作用域为 compile、test、provided

compile: 默认的作用域,作用于主程序、测试程序和编译文件。是最常用的作用域

test:作用于测试程序。使用在所有的测试工具,例如junit

provided:作用于主程序和测试程序。使用场景:假如某个jar包服务器自带了,就不需要部署到服务器,不需要他生效,例如 servlet

依赖的传递性:

当我们引用了一个 jar 包a,而 jar 包 a 本身 引用了 jar 包 b

那我们可以直接使用 jar 包 b,因为依赖具有传递性

剔除依赖:

当项目中引用或者因为依赖传递导致项目中有不同版本的 jar 包时,可能会导致 jar 包冲突,可以在引用的时候使用来剔除不需要的 jar 包


    org.example
    mavena
    1.0-SNAPSHOT

    
        
            mysql
            mysql-connector-java
        
    

在写聚合项目案例时遇到的一些问题:

1. 在完成项目生成在本地仓库时,一直报 程序包 xxx 不存在时,可以在文件夹项目根路径下按住SHIFT 键 + 鼠标右键,打开Powershell窗口,输入 mvn idea:idea 命令可以解决

2.有时会遇到 jar 包不能生效情况,可以试着删除jar 包重新下载即可

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/919317.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号