美文网首页
搭建Nexus仓库与部署maven项目

搭建Nexus仓库与部署maven项目

作者: 疯狂猪宝宝 | 来源:发表于2017-05-05 14:20 被阅读0次

    搭建Nexus仓库

    • 下载并安装 Nexus Repository Manager OSS 2.x
      https://www.sonatype.com/download-oss-sonatype

    • 启动Nexus服务
      以管理员身份运行
      ${安装目录}\nexus-2.14.4-03\bin\jsw\windows-x86-64\install-nexus.bat
      ${安装目录}\nexus-2.14.4-03\bin\jsw\windows-x86-64\start-nexus.bat

    • 访问Nexus服务
      通过http://localhost:8081/nexus/访问nexus首页。默认的登录账号密码为amdin/admin123。

    Nexus仓库介绍

    搭建好nexus仓库后,点击左侧栏链接 <u>Repositories</u>,可以查看nexus仓库,如下图所示。


    nexus仓库.png

    nexus管理了多个仓库,其中3rd party,Releases,Snapshots都是托管仓库,可以上传构件(artifacts)。3rd party用于维护不存在于公共仓库中的第三方构件,Releases用于维护稳定版构件,Snapshots用于维护开发版构件。

    当在pom.xml文件中声明version为xxx-SNAPSHOT,则构件被认为是Snapshot版本,否则被认为是Release版本。当项目依赖一个Release版本的构件,这个构件只从远程仓库下载一次,之后不再更新。如果构件需要更新,则需要用新的版本号发布一次,假设原来的版本是test1.0,新发布的版本可以是test1.1,依赖方通过修改依赖的版本来更新。一个构件如果需要频繁的修改,就不适合用Release版本发布,而应该采用Snapshot版本。Snaphost版本的构件可以用同一个版本号发布多次,当项目依赖一个Snapshot版本的构件,每次build项目时都会获取最新发布的构件。

    关于Snapshots更详细的知识,请参考Maven - Snapshots

    新建maven项目

    打开eclipse
    File->New->Project... 选择 Maven Project。
    在New Maven Project面板中,勾选Create a simple project,进入下一步。
    输入Group Id:com.test,Artifact Id:testapp,完成。

    参考:Create a New Maven Project in Eclipse

    eclipse中配置maven环境

    Window->Preferences。
    在Preferences面板中,左侧栏选择Maven->User Settings,右侧栏User Settings中选择你的settings.xml。
    settings.xml为maven的全局配置文件。

    部署maven项目

    • pom.xml配置仓库信息
    <distributionManagement>  
        <repository>  
          <id>nexus-releases</id>  
          <url>http://../nexus/content/repositories/releases</url>  
        </repository>  
        <snapshotRepository>  
          <id>nexus-snapshots</id>  
          <url>http://../nexus/content/repositories/snapshots</url>  
        </snapshotRepository>  
    </distributionManagement>  
    

    如果构件是Release版本,则使用<repository>配置发布。如果是Snapshot版本,则使用<snapshotRepository>配置发布,如果没有配置<snapshotRepository>,则Snapshot版本的构件也会通过<repository>配置发布。

    • settings.xml配置仓库安全信息
    <servers>
        <server>
          <id>nexus-releases</id>
          <username>admin</username>
          <password>admin123</password>
        </server>
        <server>
          <id>nexus-snapshots</id>
          <username>admin</username>
          <password>admin123</password>
        </server>
    </servers>
    

    server可以配置多个,每个server id必须唯一。这里的server id需要和pom.xml中的repository id或者snapshotRepository id对应。

    • 在eclipse中部署项目
      在Package Explorer面板中选择项目。
      右键,在弹出的菜单中选择Run As->Maven Build...。
      在Goals栏输入clean deploy -X,运行。
    deploy.png

    参考:Maven Deploy to Nexus

    可能遇到的问题:
    maven could not transfer artifact 400
    解决方法:
    1.发布snapshot版本,而不是release版本。
    2.在Nexus仓库中允许发布release版本。 解决方法

    相关文章

      网友评论

          本文标题:搭建Nexus仓库与部署maven项目

          本文链接:https://www.haomeiwen.com/subject/sjpjtxtx.html