Maven实战——适用Nexus创建服务器(下)

Maven实战——实用Nexus创建服务器(下)

使用Maven部署构件至Nexus
日常开发生成的快照版本构件可以直接部署到Nexus中策略为Snapshot的宿主仓库中,项目正式发布的构建部署到Nexus中策略为Release的宿主仓库中。POM的配置方式如下:

<project>
    ...
    <distributionManagement>
        <repository>
            <id>nexus-releases</id>
            <name>Nexus Releases Repository</name>
            <url>http://localhost:8081/nexus/content/repositories/releases/</url>
        </repository>
        <snapshotRepository>
            <id>nexus-snapshots</id>
            <name>Nexus Snapshots Repository</name>
            <url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
        </snapshotRepository>
    </distributionManagement>
    ...
</project>

Nexus的仓库对于匿名用户是只读的,为了能够部署构件,还需要在settings.xml中配置认证信息,如下:

<settings>
    ...
    <servers>
        <server>
            <id>nexus-releases</id>
            <username>admin</username>
            <password>*****</password>
        <server>
        <server>
            <id>nexus-snapshots</id>
            <username>admin</username>
            <password>*****</password>
        <server>
    </servers>
    ...
</settings>

手动部署第三方构件至Nexus
某些Java jar文件如oracle的JDBC驱动,由于许可证因素,他们无法公开的放在公共仓库中。还有大量的小型开源项目,他们没有把自己的构建分发到中央仓库中,也没有维护自己的仓库,因此也无法从公共仓库获得。这个时候用户就需要将这类构件手动下载到本地,然后通过Nexus的界面上传到服务器中。
要上传第三方构件,首先选择一个宿主仓库如3rd party,然后在页面的下方选择Artifact Upload选项卡,在上传构件的时候,Nexus要求用户确定其Maven坐标,如果该构件时通过Maven构建的,那么可以再GAV Definition下拉列表中选择From POM,否则就选GAV Parameters。用户需要为该构件定义一个Maven坐标,如下图:
Maven实战——适用Nexus创建服务器(下)
Nexus的权限管理
Nexus提供了一系列可配置的调度任务还方便用户管理系统。用户可以设定这些任务运行的方式,例如每天、每周、手动等。调度任务会在适当时候再后台运行。
要建立一个调度任务,单机左边导航栏的Scheduled Tasks链接,然后在右边的界面上方单击Add按钮,如下图所示:
Maven实战——适用Nexus创建服务器(下)