Maven的基本概念(三)下

简介: Maven的基本概念(三)

四. 快照(SNAPSHOT)


SNAPSHOT 快照,是测试版本,区别于releases 正式版, 一个项目jar包最后被完成了,那么需要发布的是正式版,或者是一个大的版本改动,如2.0 版本完成了,那么就是正式版, 在结束之前的,如2.0.1.1,2.0.1.2都是测试版本。 如老蝴蝶创建两个项目, 一个是项目A, 一个是项目B, 其中项目B需要引用项目A中的类, 即把A的Jar包放置到B里面, 但是现在项目A和项目B都是在开发中的, 代码都是随时会变的。 传统的做法是, 将目前的A打包成一个 jar,放到B里面,B进行调用。 如果A代码发生了改变,需要将A重新打包,通知B,并且将新的Jar包发送给B,B进行替换,然后再重新调用。 这样是很麻烦的。 如果用Maven的话, 将A的版本设置成快照 snapshot 版本,B直接进行项目的引用,记录一下,现在的时间戳 当A代码发生改变时,重新打包,记录一下现在的时间戳 然后B调用时,会检查一下时间戳,使用最近时间的那个, 不用再重新替换Jar包了。


五. Maven的 packaging 类型


上一章在创建Maven项目时,在选择 packaging 时,选择创建的是 Jar类型。 其实,除了 Jar 类型,之外,还有其他的两种类型: pom 和war.


20191023155117987.png


这三种,对应的是 Java项目的三种不同形态。


普通的Java 项目,选择的是 Jar类型,最后打包成 .jar 文件。


Web动态项目, 选择的是 war 类型,最后打包成 .war 文件。 将.war 文件放置在 tomcat里面,tomcat会将其自动解压运行。


父项目,选择的是 pom 类型。 即,不同的项目,如 dao层项目需要被 service层项目引用, service层项目需要被 action层项目引用,需要区别于 dao,service 和action, 即区别于 父子项目, 常常将 dao,service 这样的父项目 定义成 pom 类型, action为正常的 war 类型。


关于 war 项目和 pom 项目的创建, 将在以后的章节进行讲解。


六. Maven的依赖坐标


在Maven 项目中,各种各样的 jar包 叫做依赖, dependency, 依赖于哪个 jar包。 关于配置JDK版本,tomcat运行版本之类的,叫做插件,是Maven的插件,由Maven提供。 如 junit4.12, fastjson-1.2.15 叫做 依赖。 通常,我们引用一个 jar包,如果进行引用呢? 是通过坐标进行引用, 可怎么能记录那些坐标呢?


将其放置在 <dependencies></dependencies> 标签里面。


当然,凭着脑子记忆也是可以的,哪个公司的,哪个项目,常用版本号, 但一般都是记不住的。


六.一 已经知道存在于本地仓库的


如果知道一个 jar包在本地仓库,即已经下载到本机了,那么可以进行搜索,通常页面进行添加。 如fastjson 包。


选中项目中的 pom.xml 文件,选中第二个选项卡 Dependencies, 通过点击 add和 remove来进行添加和移除依赖。


添加依赖: 点击 add, 打开搜索的界面


20191023155127568.png


20191023155135247.png


点击确定之后,就自动添加到依赖里面了。


 <dependencies>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.15</version>
    </dependency>
  </dependencies>


六.二 不存在于本地仓库的


对于不存在本地仓库的jar包,该如何找到其对应的坐标呢? 总不能对每一个要引入的jar包,百度进行搜索吧。 你可以用 maven仓库的网址 进行搜索,https://mvnrepository.com/ 也可以在阿里巴巴的镜像上进行索引,阿里巴巴的网址是: https://maven.aliyun.com/mvn/search


阿里巴巴:直接进行搜索即可:


2019102315514214.png


2019102315515053.png


中央仓库: 也是直接搜索即可:


20191023155156766.png


201910231552024.png


20191023155208128.png


谢谢!!!

相关文章
|
6月前
|
Java Maven Nacos
Maven - Maven 核心概念一网打尽:轻松掌握项目构建与管理技巧
Maven - Maven 核心概念一网打尽:轻松掌握项目构建与管理技巧
36 0
|
8月前
|
Java 调度 Maven
Maven基础学习---5、其他核心概念
Maven基础学习---5、其他核心概念
|
6月前
|
Java 项目管理 Maven
06Maven - Maven概念模型
06Maven - Maven概念模型
16 0
|
8月前
|
存储 Java Apache
【Maven】Maven下载,配置以及基本概念
Maven是一个Java项目管理工具和构建工具,用于管理项目的依赖关系、构建过程以及项目的部署。它是Apache软件基金会的开源项目。Maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM)
|
10月前
|
存储 Java 程序员
【Maven相关知识 一】Maven基本概念和基本功能
【Maven相关知识 一】Maven基本概念和基本功能
106 0
|
Java 应用服务中间件 Maven
MAVEN01_概述+核心概念+IDEA中如何使用(创建项目)(六)
⑥. tomcat插件和jdk插件 ⑦. maven 工程运行调试
MAVEN01_概述+核心概念+IDEA中如何使用(创建项目)(六)
|
Java 应用服务中间件 Maven
MAVEN01_概述+核心概念+IDEA中如何使用(创建项目)(五)
④. 创建一个maven的web工程(不用骨架) ⑤. Servlet冲突问题
122 0
MAVEN01_概述+核心概念+IDEA中如何使用(创建项目)(五)

热门文章

最新文章