Maven 如何更改部署到不同环境的存储库id?

Maven 如何更改部署到不同环境的存储库id?,maven,Maven,现在,我的应用程序的POM中有一个要部署到内部maven repo进行开发的文件: <distributionManagement> <repository> <id>development-repo</id> <name>development-repo</name> <url>https://artifactory/developme

现在,我的应用程序的POM中有一个要部署到内部maven repo进行开发的文件:

  <distributionManagement>
      <repository>
          <id>development-repo</id>
          <name>development-repo</name>
          <url>https://artifactory/development-repo</url>
      </repository>
      <snapshotRepository>
          <id>development-repo</id>
          <name>development-repo</name>
          <url>https://artifactory/development-repo</url>
      </snapshotRepository>
  </distributionManagement>

发展回购
发展回购
https://artifactory/development-repo
发展回购
发展回购
https://artifactory/development-repo
但我也有一个产品回购协议。我想做的是在pom中包括这两者,默认为dev,并有一种从命令行切换到prod的方法-这可能吗

例如,我的POM如下所示:

  <!-- default to these repos so running mvn deploy will just deploy to them -->
  <repository>
      <id>development-repo</id>
      <name>development-repo</name>
      <url>https://artifactory/development-repo</url>
  </repository>
  <snapshotRepository>
      <id>development-repo</id>
      <name>development-repo</name>
      <url>https://artifactory/development-repo</url>
  </snapshotRepository>

  <!-- Have some way of passing switch to maven to deploy to prod repos (used by CI\CD server -->
  <repository>
      <id>production-repo</id>
      <name>production-repo</name>
      <url>https://artifactory/development-repo</url>
  </repository>
  <snapshotRepository>
      <id>production-repo</id>
      <name>production-repo</name>
      <url>https://artifactory/production-repo</url>
  </snapshotRepository>


发展回购
发展回购
https://artifactory/development-repo
发展回购
发展回购
https://artifactory/development-repo
生产回购
生产回购
https://artifactory/development-repo
生产回购
生产回购
https://artifactory/production-repo


我知道maven有配置文件的概念,但这似乎有点太过苛刻了?事实上,我甚至在考虑让CI\CD服务器对pom进行文本转换,以将出现的开发repo替换为生产repo,但如果可能的话,我想用maven的方式来实现这一点

您真的想为产品存储库重新构建项目吗?而不是仅仅“提升”你的工件从一个回购协议到另一个?从现在开始是的。这是一个特定的artifactory特性——我想我不应该在url中包含artifactory。从现在起,我只想切换部署repo dynamicallyal,因此,即使我推广了它,我仍然需要为需要它作为依赖项的应用程序更改它。他们需要能够将存储库设置为dev repo(用于dev部署)和prod repo(用于prod部署)您真的想为prod存储库重新构建项目吗?而不是仅仅“提升”你的工件从一个回购协议到另一个?从现在开始是的。这是一个特定的artifactory特性——我想我不应该在url中包含artifactory。从现在起,我只想切换部署repo dynamicallyal,因此,即使我推广了它,我仍然需要为需要它作为依赖项的应用程序更改它。他们需要能够将存储库设置为dev repo(用于dev部署)和prod repo(用于prod部署)