maven deploy命令是将你负责的模块发布到你配置的仓库位置。
Maven中的仓库分为两种,Snapshot快照仓库和Release发布仓库。Snapshot快照仓库用于保存开发过程中的不稳定版本,Release正式仓库则是用来保存稳定的发行版本。定义一个组件/模块为快照版本,只需要在pom.xml文件中在该模块的版本号后加上-SNAPSHOT即可(注意这里必须是大写),如下所示:
<groupId>com.xupp</groupId> <artifactId>test</artifactId> <version>0.1-SNAPSHOT</version> <packaging>jar</packaging>delopy会更具你定义的版本发布到不同的位置。
2020年微服务现在已经是一个公司基本必选的服务架构了,一个项目会被分成多个,每一个人会负责一个模块的开发,有些人就会分到公共组件或者公共api的开发。
比如现在a开发一个公共的base包,定义如下:
<groupId>com.a</groupId> <artifactId>base</artifactId> <version>0.1-SNAPSHOT</version> <packaging>jar</packaging>上面定义程快照版本,每一次的deploy都会把当前的时间作为版本的一部分,如打包上去的可能是下面这样的jar,存放在私服的Snapshot快照仓库位置。
base-0.0.1-20200903.060612-43.jar(版本的后面加上了当前的时间)现在b模块开发其中系统中的一个业务模块,那么它需要使用这个base模块中的一些工具类,他只要在pom做如下定义
<dependency> <groupId>com.a</groupId> <artifactId>base</artifactId> <version>0.1-SNAPSHOT</version> </dependency>那么每一次base有更新进行deploy,只要使用的地方重新reimport进行拉取,会在本地仓库位置拉取快照仓库最新的快照版本。并且进行使用。具体的表现如下:
