项目管理--maven浅析《四》之私服(Nexus)

来源:互联网 发布:淘宝满1000减50怎么用 编辑:程序博客网 时间:2024/06/01 13:24

私服(Nexus)

上篇文章中我们说到了maven分模块管理SSH项目,其中我们每开发一个模块,都要把它发布到本地仓库(命令:install),用于模块间建立联系。但是,实际项目开发中,各个团队开发模块不可能在同一台pc上进行,那么为了让模块之间建立联系就要用到远程仓库,也就是私服(Nexus)。

1、下载安装


文件夹sonatype-work就是远程仓库,用于存放文件

下边我们以命令行的形式安装并启动nexus

a、安装,进入到nexus的bin目录下,安装命令为nexus.bat install

安装完成我们PC服务里边就会有nexus服务,但是本人不建议大家在服务中心手动开启,

我们还是以命令行的形式启动服务nexus.bat start

这里启动成功了,但是有时候可能会出现启动失败的问题,本人在这里提供一种解决方案:

1、找到该配置文件

打开配置文件,把标黄部分修改为:wrapper.java.command=D:\java\jdk1.7.0_80\bin\java.exe

因为这里依靠的就是jdk中的java.exe,之所以不成功是因为Java环境没配置好,这里直接给它定位

另外还有一个配置文件需要注意:

文件内容就是提供了端口号和项目名称,因此访问私服的路径:http://localhost:8081/nexus

远程仓库是需要登录的,默认的用户名/密码:admin/admin123

仓库类型:

virtual:虚拟仓库

proxy:代理仓库(central就是中央仓库,也就意味着nexus找不到的要到central中找)

hosted:宿主仓库 本地仓库 Releases和Snapshots就是我们创建项目时选择的版本

group:组 就是包含多种类型


因为私服是由运维部门进行管理的,所以我们只需要了解一下即可

下边我们做一个实际案例:把dao模块发布到nexus上,service从上边下载

发布到nexus的命令为:deploy

但是会报错,因为我们指定私服,项目并不知道要发布到哪里,解决方案:

在dao模块的pom.xml文件中添加配置文件

<distributionManagement>  <repository>  <id>releases</id><url>http://localhost:8081/nexus/content/repositories/releases/</url>  </repository>   <snapshotRepository>  <id>snapshots</id><url>http://localhost:8081/nexus/content/repositories/snapshots/</url>  </snapshotRepository>   </distributionManagement>

这里就是指定了两个版本的私服,但是指定完私服之后,发布到的私服的操作也是会收到限制的,因此在maven的setting.xml文件中添加一下配置

<server>      <id>releases</id>      <username>admin</username>      <password>admin123</password>    </server><server>      <id>snapshots</id>      <username>admin</username>      <password>admin123</password>    </server>
这样就有了发布权限了,dao模块也就可以顺利发布了


service层下载dao

在maven的setting.xml文件中添加

<profile>   <!--profile的id-->    <id>dev</id>       <repositories>         <repository>  <!--仓库id,repositories可以配置多个仓库,保证id不重复-->        <id>nexus</id>   <!--仓库地址,即nexus仓库组的地址-->        <url>http://localhost:8081/nexus/content/groups/public/</url>   <!--是否下载releases构件-->        <releases>             <enabled>true</enabled>           </releases>   <!--是否下载snapshots构件-->        <snapshots>             <enabled>true</enabled>           </snapshots>         </repository>       </repositories>   <pluginRepositories>      <!-- 插件仓库,maven的运行依赖插件,也需要从私服下载插件 -->        <pluginRepository>          <!-- 插件仓库的id不允许重复,如果重复后边配置会覆盖前边 -->            <id>public</id>              <name>Public Repositories</name>              <url>http://localhost:8081/nexus/content/groups/public/</url>          </pluginRepository>      </pluginRepositories>    </profile>  
然后添加激活配置

  <activeProfiles>    <activeProfile>dev</activeProfile>  </activeProfiles>

这样你把service层中的dao包删除,更新项目就会自动从nexus上下载了。


===================================================================================
尽人事,听天命。我相信只有那些疯狂到自以为能改变世界的人才会真正改变世界。
坚持别人不能坚持的坚持,终将收获别人不能收获的收获。这就是我,一个纯粹想靠技术改变命运的人。



原创粉丝点击