可以在不修改 pom.xml 的情况下更改 distributionManagement 站点吗?
Possible to change distributionManagement site without modifying pom.xml?
我们在本地有一个 Maven ftp 存储库,其中提供了公司构建的工件。
假设我分支了一个 github 项目。我想进行修改,这将需要几个月的时间才能完成并推回 master。我想在这个分支中进行更改,以便立即在我们公司内部构建和提供。所以...
如果我在 github 分支上运行 mvn deploy,它会尝试部署到 sonatype 或 pom.xml 中指定的任何内容(而不是本地 ftp 地点)。
我不想编辑项目的 distributionManagement 规则 pom.xml 因为项目最终会合并回项目的 HEAD,我们公司的 distributionManagement 规则不正确OSS 社区。
那么,有没有办法让 mvn deploy 将输出发送到本地分支? (也许通过创建一个额外的 pom.xml 以某种方式使用现有的但覆盖 distributionManagement 规则。)
看起来这就是答案:
mvn -DaltDeploymentRepository=SettingsID::default::ftp://path/to/repository deploy
或
mvn -DaltDeploymentRepository=SettingsID::default::file://path/to/repository deploy
...虽然这需要:
<build>
...
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ftp</artifactId>
<version>2.4</version>
</extension>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-file</artifactId>
<version>2.5</version>
</extension>
</extensions>
我们在本地有一个 Maven ftp 存储库,其中提供了公司构建的工件。
假设我分支了一个 github 项目。我想进行修改,这将需要几个月的时间才能完成并推回 master。我想在这个分支中进行更改,以便立即在我们公司内部构建和提供。所以...
如果我在 github 分支上运行 mvn deploy,它会尝试部署到 sonatype 或 pom.xml 中指定的任何内容(而不是本地 ftp 地点)。
我不想编辑项目的 distributionManagement 规则 pom.xml 因为项目最终会合并回项目的 HEAD,我们公司的 distributionManagement 规则不正确OSS 社区。
那么,有没有办法让 mvn deploy 将输出发送到本地分支? (也许通过创建一个额外的 pom.xml 以某种方式使用现有的但覆盖 distributionManagement 规则。)
看起来这就是答案:
mvn -DaltDeploymentRepository=SettingsID::default::ftp://path/to/repository deploy
或
mvn -DaltDeploymentRepository=SettingsID::default::file://path/to/repository deploy
...虽然这需要:
<build>
...
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ftp</artifactId>
<version>2.4</version>
</extension>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-file</artifactId>
<version>2.5</version>
</extension>
</extensions>