Maven(作用和好处、打包方式、依赖解析机制、打包插件)

Maven(作用和好处、打包方式、依赖解析机制、打包插件)

文章目录 Maven的作用和好处Maven的三种打包方式区别(jar、war、pom) Maven的依赖解析机制scopeMaven打包插件(maven-assembly-plugin)

Maven的作用和好处

Maven 是专门用于构建和管理Java相关项目的工具。maven的两大核心是:

依赖管理:就是对jar的统一管理过程;项目构建:项目编码完成后,对项目进行编译、测试、打包、部署一系列的操作都通过命令来实现。

Maven的好处:

不再拷贝jar包。项目不需要存放jar包,导致项目源代码小。使用maven开发的工程,如果环境统一,导入别的maven的项目不会报错。代码耦合度进一步降低。方便项目进行升级。节省人力成本。 Maven的三种打包方式区别(jar、war、pom) jar:工程的默认打包方式,打包成jar用作jar包使用。存放一些其他工程都会使用的类,工具类。我们可以在其他工程的pom文件中去引用它,包括发布接口供别人调用。war:war包用来发布服务,打成war包后部署到服务器后用户可以通过浏览器直接访问,或者是通过发布服务被别的工程调用。pom:用在父级工程或聚合工程中,用来做jar包的版本控制,pom打包方式可以作为其他项目的maven依赖,构建maven项目时可用在父级工程或者聚合工程中,用来做jar包的版本控制;

注:打包方式在多模块项目中有具体的体现。

jar、war、pom项目的内容发生改变时,对其他应用的影响 A的jar包发生改变时,如果是B调用了A的jar包中的接口,则需要A先将jar包重新deploy,然后B删除本地仓库(repository)中的jar包,compile之后即报红。A的war包内容发生改变时,需要先将…???,;,;,;,;,;,;,;,;,;,;,; A需要引用B的接口,B的接口修改之后,在修改artifact之后deploy到远程,给对方坐标依赖,即可创建一个临时的测试包。

接口的实现变了,但是参数和返回值没有变,对方不用更新,但是当接口的参数和返回值发生改变时,需要重新拉取。

deploy项目到私服(分releases库和snapshots库)

releases Nexus Release Repository http://192.168.0.126:8081/nexus/content/repositories/releases/ snapshots Nexus Snapshot Repository http://192.168.0.126:8081/nexus/content/repositories/snapshots/ Maven的依赖解析机制scope 当依赖的范围是system时,尝试从本地仓库中寻找依赖根据依赖坐标定位依赖位置后,尝试从本地仓库中寻找依赖,若找到,则解析成功;若找不到,则从settings.xml文件中配置的远程仓库中查找;如果依赖的版本是RELEASE或LATEST,则读取所有远程仓库的元数据groupId/artifactId/version/maven-metadata.xml,与本地元数据合并后,计算出RELEASE和LATEST的真实值,然后做第二步;如果依赖的版本为SNAPSHOT,类似的,读取远程仓库的元数据,并与本地元数据合并,计算出最新版本的快照,再从本地仓库和远程仓库检索

dependencyManagement和dependencies区别:一个是项目依赖,一个是maven项目多模块情况时作依赖管理控制的。

Maven打包插件(maven-assembly-plugin)

怎么用?

需要指定一个Assembly描述符文件。该文件指定了打包格式,包含的文件/过滤的文件等信息,可以同时指定多个描述符文件,打包成不同的格式。 package zip dir false src/main/bin bin script bin target/classes conf com/ lib runtime 在Maven工程的pom.xml文件里配置maven-assembly-plugin插件,引入Assembly描述符文件。 org.apache.maven.plugins maven-assembly-plugin 3.1.0 src/main/assembly/assembly.xml make-assembly package single

按照以上配置打包好后,将.tar.gz文件上传到服务器,解压之后就会得到bin、conf、lib等规范化的目录结构,十分方便。


比丘资源网 » Maven(作用和好处、打包方式、依赖解析机制、打包插件)

发表回复

提供最优质的资源集合

立即查看 了解详情