任县企业做网站,单位门户网站建设工作建议,网站建设会计分录怎么做,浦东网站开发培训班公司内部自行开发的依赖包需要上传到maven私服时#xff0c;可以在项目的pom.xml中配置#xff0c;也可以在本地计算机的maven目录settings.xml中配置。本文讲述的是如何在settings.xml中进行配置。
场景#xff1a;有两个maven私服#xff0c;其中一个为公司的#xff0…公司内部自行开发的依赖包需要上传到maven私服时可以在项目的pom.xml中配置也可以在本地计算机的maven目录settings.xml中配置。本文讲述的是如何在settings.xml中进行配置。
场景有两个maven私服其中一个为公司的另一个为个人的每个私服都有release库和snapshot库加起来一共4个库
公司的company-release company-snapshot
个人的personal-release personal-snapshot
下面的配置代码中的注释描述了配置方法
?xml version1.0 encodingUTF-8?
settings
xmlnshttp://maven.apache.org/SETTINGS/1.2.0
xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocationhttp://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd!-- 本地仓库路径 --localRepositoryD:\maven\repo/localRepositoryservers!-- server标签用来配置私服的用户名和密码每个repo都对应一个server咱们有4个repo(公司release公司snapshot个人release个人snapshot)当然就有4个server块。--!--公司release --server!--server id要与profile中的repository id和altReleaseDeploymentRepository中的id一致 --idcompany-release/idusername{your repo username}/usernamepassword{your repo password}/password/server!--公司snapshot --serveridcompany-snapshot/idusername{your repo username}/usernamepassword{your repo password}/password/server!--个人release --serveridpersonal-release/idusername{your repo username}/usernamepassword{your repo password}/password/server!--个人snapshot --serveridpersonal-snapshot/idusername{your repo username}/usernamepassword{your repo password}/password/server/servers!-- 注意配置mirror时mirrorOf一定要排除私服的repository id否则私服的仓库也会用mirror代理导致找不到依赖。--mirrorsmirroridaliyunmaven/id!-- mirrorOf表示这个镜像是哪些repository的镜像这里声明的是这个镜像是central, jcenter的镜像那么自然私服不会被镜像代理。如果某个镜像想代理除私服之外的所有repository那么就要使用排除法写法为mirrorOf*,!company-release,!company-snapshot,!personal-release,!personal- snapshot/mirrorOf上面的*表示该镜像代理所有repository!表示排除这个repository这样除了带!的repo以外的所有repo都会被该镜像代理。--mirrorOfcentral,jcenter/mirrorOfnamemirror/nameurlhttps://maven.aliyun.com/repository/public/url/mirror/mirrorsprofiles!-- 公司maven私服配置 --profile!-- profile id用于标识profile当选择要激活哪个配置时会用到下面会讲 --idcompany/idproperties!-- altReleaseDeploymentRepository用于配置推送信息 标签里面的值格式为:repository-id::default::url 其中repository-id和下文的repository标签里的id是一样的当然也就和server id一样这样才能正确传递用户名密码。--!-- altReleaseDeploymentRepository是release库信息当你往release库推送时会用到--altReleaseDeploymentRepositorycompany-release::default::https://xxxx.xxx/altReleaseDeploymentRepository !-- altSnapshotDeploymentRepository是snapshot库信息当你往snapshot库推送时会用到--altSnapshotDeploymentRepositorycompany-snapshot::default::https://xxxx.xxx/altSnapshotDeploymentRepository/propertiesrepositories!-- repository用于配置拉取 --repository!-- repository id要和server id保持一致才能正确传递用户名和密码。 --idcompany-release/id!-- repo的url --urlhttps://xxxx.xxx/urlreleasesenabledtrue/enabled/releasessnapshotsenabledtrue/enabled/snapshots/repositoryrepositoryidcompany-snapshot/idurlhttps://xxxx.xxx/urlreleasesenabledtrue/enabled/releasessnapshotsenabledtrue/enabled/snapshots/repository/repositories/profile!-- 个人的私服配置 --profileidpersonal/idpropertiesaltReleaseDeploymentRepositorypersonal-release::default::https://xxxx.xxx/altReleaseDeploymentRepositoryaltSnapshotDeploymentRepositorypersonal-snapshot::default::https://xxxx.xxx/altSnapshotDeploymentRepository/propertiesrepositoriesrepositoryidpersonal-release/idurlhttps://xxxx.xxx/urlreleasesenabledtrue/enabled/releasessnapshotsenabledtrue/enabled/snapshots/repositoryrepositoryidpersonal-snapshot/idurlhttps://xxxx.xxx/urlreleasesenabledtrue/enabled/releasessnapshotsenabledtrue/enabled/snapshots/repository/repositories/profile/profiles!-- 当存在多个私服时选择要推送给哪个私服修改这里即可将 activeProfile/activeProfile标签中的值改为上面配置的profile中对应远程库的profile id。然后你的项目的pom文件中版本号中如果是x.x.x-SNAPSHOT结尾(注意SNAPSHOT要大写)的maven会自动上传到snapshot库否则上传到release库。比如你的项目的pom文件中写的版本号是0.0.1-SNAPSHOT那么使用mvn deploy命令就会自动上传到快照库。--activeProfilesactiveProfilecompany/activeProfile/activeProfiles!--这里选择的是company私服配置那么如果项目的pom中写的版本号是0.0.1-SNAPSHOT使用mvn deploy命令就会上传到公司私服的snapshot库。也就是前面代码定义的id叫做company-snapshot的repository。如果要上传到company-release库那么版本号就写成0.0.1即可。--
/settings