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
需要在运行的时候仔细看看插件的版本。