建筑案例的网站有哪些方面,天元建设集团有限公司第二建筑工程分公司,企业网站推广排名,天津网站制作哪个好前面我们在讲解多模块开发的时候#xff0c;我们讲到我们所拆分的模块是可以在同一个公司各个项目组之间进行资源共享的。这个模块的资源共享#xff0c;就需要通过我们接下来所讲解的Maven的私服来实现。
首先我们先介绍一下什么是私服#xff0c;以及它的作用是什么。再来…前面我们在讲解多模块开发的时候我们讲到我们所拆分的模块是可以在同一个公司各个项目组之间进行资源共享的。这个模块的资源共享就需要通过我们接下来所讲解的Maven的私服来实现。
首先我们先介绍一下什么是私服以及它的作用是什么。再来介绍一下我们如何将每位模块打包上传到私服以及从私服当中来下载。
场景
在介绍什么是私服之前我们先来分析一下同一个公司两个项目组之间如何基于私服进行资源的共享。
假设现在有两个团队A和B。A开发了一个模块tlias-utils模块开发完毕之后将模块打成jar包并安装到了A的本地仓库。 那此时该公司的B团队开发项目时要想使用tlias-utils中提供的工具类该怎么办呢对于maven项目来说是不是在pom.xml文件中引入tlias-utils的坐标就可以了呢 大家可以思考一下当B团队在maven项目的pom.xml配置文件中引入了依赖的坐标之后maven是如何查找这个依赖的查找顺序为
1).本地仓库本地仓库中是没有这个依赖jar包的。
2).远程中央仓库由于该模块是自己公司开发的远程仓库中也没有这个依赖。
因为目前tlias-utils这个依赖还在A的本地仓库中的。B电脑上的maven项目是不可能找得到A电脑上maven本地仓库的jar包的。那此时大家可能会有一个想法因为A和B都会连接中央仓库我们可以将A本地仓库的jar包直接上传到中央仓库然后B从中央仓库中下载tlias-utils这个依赖。 这个想法很美好但是显示很残酷。这个方案是行不通的因为中央仓库全球只有一个不是什么人都可以往中央仓库中来上传jar包的我们是没有权限操作的。
那此时maven的私服就出场了私服其实就是架设在公司局域网内部的一台服务器就是一种特殊的远程仓库。
有了私服之后各个团队就可以直接来连接私服了。A连接上私服之后他就可以把jar包直接上传到私服当中。我公司内部搭建的服务器我是不是有权限操作呀把jar包上传到私服之后我让B团队的所有开发人员也连接同一台私服。连接上这一台私服之后他就会根据坐标的信息直接从私服当中将对应的jar包下载到自己的本地仓库这样就可以使用到依赖当中所提供的一些工具类了。这样我们就可以通过私服来完成资源的共享。 而如果我们在项目中需要使用其他第三方提供的依赖如果本地仓库没有也会自动连接私服下载如果私服没有私服此时会自动连接中央仓库去中央仓库中下载依赖然后将下载的依赖存储在私服仓库及本地仓库中。
介绍
● 私服是一种特殊的远程仓库它是架设在局域网内的仓库服务用来代理位于外部的中央仓库用于解决团队内部的资源共享与资源同步问题。
● 依赖查找顺序 ○ 本地仓库 ○ 私服仓库 ○ 中央仓库
● 注意事项私服在企业项目开发中一个项目/公司只需要一台即可无需我们自己搭建会使用即可。 资源上传与下载
步骤分析 资源上传与下载我们需要做三步配置执行一条指令。
第一步配置在maven的配置文件中配置私服的用户名、密码。
第二步配置在maven的配置文件中配置连接私服的地址(url地址)。
第三部配置在项目的pom.xml文件中配置上传资源的位置(url地址)。
配置好了上述三步之后要上传资源到私服仓库就执行maven声明周期deploy。
私服仓库说明 ● RELEASE存储自己开发的RELEASE发布版本的资源。 ● SNAPSHOT存储自己开发的SNAPSHOT发布版本的资源。 ● Central存储的是从中央仓库下载下来的依赖。
项目版本说明 ● RELEASE(发布版本)功能趋于稳定、当前更新停止可以用于发行的版本存储在私服中的RELEASE仓库中。 ● SNAPSHOT(快照版本)功能不稳定、尚处于开发中的版本即快照版本存储在私服的SNAPSHOT仓库中。
具体操作
为了模拟企业开发这里我准备好了一台服务器192.168.150.101私服已经搭建好了我们可以访问私服测试http://192.168.150.101:8081 私服准备好了之后我们要做如下几步配置
1.设置私服的访问用户名/密码在自己maven安装目录下的conf/settings.xml中的servers中配置
serveridmaven-releases/idusernameadmin/usernamepasswordadmin/password
/serverserveridmaven-snapshots/idusernameadmin/usernamepasswordadmin/password
/server
2.设置私服依赖下载的仓库组地址在自己maven安装目录下的conf/settings.xml中的mirrors、profiles中配置
mirroridmaven-public/idmirrorOf*/mirrorOfurlhttp://192.168.150.101:8081/repository/maven-public//url
/mirror
profileidallow-snapshots/idactivationactiveByDefaulttrue/activeByDefault/activationrepositoriesrepositoryidmaven-public/idurlhttp://192.168.150.101:8081/repository/maven-public//urlreleasesenabledtrue/enabled/releasessnapshotsenabledtrue/enabled/snapshots/repository/repositories
/profile
3.IDEA的maven工程的pom文件中配置上传发布地址(直接在tlias-parent中配置发布地址)
distributionManagement!-- release版本的发布地址 --repositoryidmaven-releases/idurlhttp://192.168.150.101:8081/repository/maven-releases//url/repository!-- snapshot版本的发布地址 --snapshotRepositoryidmaven-snapshots/idurlhttp://192.168.150.101:8081/repository/maven-snapshots//url/snapshotRepository
/distributionManagement
配置完成之后我们就可以在tlias-parent中执行deploy生命周期将项目发布到私服仓库中。 通过日志我们可以看到这几个模块打的jar包确实已经上传到了私服仓库中由于当前我们的项目是SNAPSHOT版本所以jar包是上传到了snapshot仓库中。
那接下来我们再来打开私服来看一下 我们看到我们项目中的这几个模块在私服中都有了。那接下来当其他项目组的开发人员在项目中就可以直接通过依赖的坐标就可以完成引入对应的依赖此时本地仓库没有就会自动从私服仓库中下载。