Maven-私服

私服

        私服是架设在局域网的一种特殊的远程仓库。有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库;否则,私服请求外部的远程仓库,将构件下载到私服,再提供给本地仓库下载。

        私服可以解决在企业做开发时每次需要的jar包都要在中心仓库下载,且每次下载完只能被自己使用,不能被其他开发人员使用的弱点。

        私服就是一个服务器,不是本地层面的,是公司(局域网/内网)层面的,公司中所有的开发人员都在使用同一个私服。

        我们可以使用专门的 Maven 仓库管理软件来搭建私服,比如:Apache ArchivaArtifactorySonatype Nexus等。此处为 Sonatype Nexus        

下载nexus-2.x-bundle.zip,解压即可
(可以配置一下环境变量)
解压后在bin目录中执行:nexus install  在系统中安装nexus服务
​                    nexus uninstall 卸载nexus服务
​                    nexus start   启动服务
​                    nexus stop   停止服务
注:必须使用管理员身份打开cmd才可执行上述命令

访问私服:http://localhost:8081/nexus/
登录私服:admin/admin123
  • 导入第三方jar到私服:

        有些jar在中心库中是没有的,比如oracle的数据库驱动jar:ojdb6.jar. 可以自己下载jar,然后上传到私服中。

        此种构件,建议放在 "3rd party" 仓库中 ( 存放第三方构件 )

  •  仓库组

        私服中有一个仓库组,组中包含多个仓库,可指定仓库组的url,即可从多个仓库中获取构件

  • Maven关联私服

        Maven 配置文件:E:\Maven\apache-maven-3.3.9\conf\settings.xml

<!--配置私服 username/password:-->
        <server>
		<id>nexus-public</id>
		<username>admin</username>
		<password>admin123</password>
	</server>
  </servers>
<!--配置私服为maven的远程仓库,
注意:【此处的repository的id要和 上图中server的id保持一致,才可以在私服认证通过】-->
         <profile>
	      <id>nexus</id>
	      <repositories>
	        <repository>
	          <id>nexus-public</id>
	          <url>http://localhost:8081/nexus/content/groups/public</url>
		  <releases><enabled>true</enabled></releases>
		  <snapshots><enabled>true</enabled></snapshots>
	        </repository>
	      </repositories>
	  <pluginRepositories>
		<repository>
	          <id>nexus-public</id>
	          <url>http://localhost:8081/nexus/content/groups/public</url>
		  <releases><enabled>true</enabled></releases>
		  <snapshots><enabled>true</enabled></snapshots>
	        </repository>
	  </pluginRepositories>
	  </profile>
    </profiles>
    <!-- 让增加的 profile生效 -->
	<activeProfiles>
		<activeProfile>nexus</activeProfile>
	</activeProfiles>
  • 项目加载到私服中:

        在项目的pom中配置部署仓库位置:

  <!--将项目打包安装到私服上-->
  <distributionManagement>
      <repository>
          <id>nexus-public</id><!--和Maven配置中的server的id一致才能通过私服的认证-->
          <name>release</name><!--release版本部署位置-->
          <url>http://localhost:8081/nexus/content/repositories/releases</url>
      </repository>
      <snapshotRepository>
          <id>nexus-public</id>
          <name>snapshots</name><!--snapshots版本部署位置-->
          <url>http://localhost:8081/nexus/content/repositories/snapshots</url>
      </snapshotRepository>
  </distributionManagement>

        执行 :mvn deploy

        即可将项目部署到私服对应的仓库中,此时项目中的打包方式多为 jar

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值