0

目前在我的项目中,我通过提供分发管理将工件部署到中央存储库。

我的要求是当我的 pom 版本有 1.0-SNAPSHOT - 它应该部署到 libs-snapshot 并且当我的 pom 版本只有 1.0 时,它应该部署到 libs-release。

基本上,它应该根据我提供的带有或不带有快照和相应存储库的版本进行部署。

请帮助我如何配置将我的 Maven 项目部署到两个不同的存储库并在 settings.xml 中进行配置。

提前致谢

4

1 回答 1

1

您可以在分发管理部分指定两个存储库。一个用于发布,一个用于快照。根据您的版本号,应使用相应的存储库进行分发。

您不能在 settings.xml 中配置此设置,您必须在 pom.xml 中配置它。看到这个链接

<project xmlns="http://maven.apache.org/POM/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
                      http://maven.apache.org/xsd/maven-4.0.0.xsd">
  ...
  <distributionManagement>
    <repository>
      <uniqueVersion>false</uniqueVersion>
      <id>corp1</id>
      <name>Corporate Repository</name>
      <url>scp://repo/maven2</url>
      <layout>default</layout>
    </repository>
    <snapshotRepository>
      <uniqueVersion>true</uniqueVersion>
      <id>propSnap</id>
      <name>Propellors Snapshots</name>
      <url>sftp://propellers.net/maven</url>
      <layout>legacy</layout>
    </snapshotRepository>
    ...
  </distributionManagement>
  ...
</project>

示例取自POM 参考 - Distribution_Management 部分,您可以在其中找到有关它的更多信息。

如果您想共享多个项目的分发管理部分,此答案显示了一种通过使用 pom 打包的父项目在公司范围内指定它的方法。

于 2013-07-05T16:18:37.770 回答