Maven发布构件到私服

Nexus3搭建的Maven私服为例子,用管理员账户登录系统平台,并在管理控制台的配置面板中创建一个用于发布项目构件的账户(注:在Maven中,所有的依赖、插件、项目构建的输出,都可以称作是构件)。

创建角色

在Nexus3管理控制台中,创建一个具有nx-component-uploadnx-repository-view-*-*-*两个权限的角色:

创建用户

在Nexus3管理控制台中,创建一个用作构件部署的账户,并将刚刚创建的角色分配给该用户:

settings.xml配置

在maven的用户或全局settings.xml配置文件,添加如下代码:

<servers>
    <server>
        <id>nexus-maven-snapshot</id>
        <username>deployment</username>
        <password>deployment123</password>
    </server>
    <server>
        <id>nexus-maven-releases</id>
        <username>deployment</username>
        <password>deployment123</password>
    </server>
</servers>

<server>用于配置连接到远程服务器的账户名和账户密码。主要用于发布项目构件到Maven私服的时候,为本地连接远程私服服务器进行权限认证提供所需的用户名和密码。

pom.xml配置

在项目的pom.xml配置文件中,添加如下代码:

<distributionManagement>
    <repository>
        <id>nexus-maven-releases</id>
        <url>http://10.10.10.121:8081/repository/maven-releases/</url>
    </repository>
</distributionManagement>

注:如果项目是快照版本(项目pom.xml配置文件中version的值含有*-SNAPSHOT)则使用<snapshotRepository>标签替换<repository>标签。

部署构件

在命令行中执行命令:

$ mvn clean deploy

如果部署的构件是一个快照版本,由于存储快照版本的仓库是允许构件重新部署的,因此快照版本的构件在每次发布时都会自动带上一个时间戳标记,以作为区分和历史备份。如图所示: