Maven 如何配置推送的仓库

在配置,有关 Maven 的推送仓库地址应该配置在项目的 pom.xml 文件中的。

使用的配置属性为:distributionManagement

如下面的配置:

    <distributionManagement>
        <repository>
            <id>ossez-repo</id>
            <url>https://repo.ossez.com/repository/maven-releases/</url>
        </repository>

        <snapshotRepository>
            <id>ossez-repo</id>
            <url>https://repo.ossez.com/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

如上面的配置使用的是不同的仓库地址,第一个为 Release 的,第二个为 snapshot 的仓库。

修改全局配置

有时候我们本地项目使用的是私有库。

所以我们最好是配置全局文件。

全局配置文件的路径在 .m2 目录下的 settings.xml 文件中。

在这个文件中:可以添加一个 properties 的 altReleaseDeploymentRepository 属性。

如下面的配置:

			<properties>
				<altReleaseDeploymentRepository>ossez-repo::default::https://repo.ossez.com/repository/maven-releases/</altReleaseDeploymentRepository>
				<altSnapshotDeploymentRepository>ossez-repo::default::https://repo.ossez.com/repository/maven-snapshots/</altSnapshotDeploymentRepository>
			</properties>

上面配置的布局为: id::*layout* ::url

因此我们的 id 为: ossez-repo

所以需要在 server 属性配置文件中配置用户名和密码才可以。

另外,上面如果需要配置生效,maven-deploy-plugin 的版本需要在 2.8.0 之上。

属性altSnapshotDeploymentRepository和altReleaseDeploymentRepository是随maven-release-plugin 2.8版一起引入的。低于2.8版本,执行mvn deploy时,则会报如下错误

Deployment failed: repository element was not specified in the POM inside distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter

需要在运行的时候仔细看看插件的版本。