是否有可能在某种程度上告诉maven部署:文件目标根据项目的版本是快照/发布部署到两个独立的工件?mvn部署:文件到不同的存储库的快照和发布版本
我希望可能有一个属性,指示版本具有-SNAPSHOT前置的事实,或者可能需要部署的默认工件(已根据版本号计算出)。
我想过使用两个不同的配置文件,并通过解析pom.xml文件来了解它在ant中的快照,但是如果可能的话我宁愿使用更清晰的解决方案。
目前,我的部署插件看起来如下,但这只是部署到发布artifactory,无论版本;
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>deploy-zip-created-by-ant-to-artifactory</id>
<phase>deploy</phase>
<goals>
<goal>deploy-file</goal>
</goals>
<configuration>
<repositoryId>${project.distributionManagement.repository.id}</repositoryId>
<url>${project.distributionManagement.repository.url}</url>
<file>${project.basedir}/Build/deploy/MyArtifact.zip</file>
<pomFile>${project.basedir}/MyArtifact-pom.xml</pomFile>
</configuration>
</execution>
</executions>
</plugin>
非常感谢
你为什么喜欢为部署做:文件?你不使用mvn发布:准备和发布:执行? – khmarbaise
我完全不了解maven,但我们正在尝试迁移复杂的ant构建,以便它使用maven来管理依赖关系并发布ant生成的构件。 Maven目标部署:文件似乎是指定我们想要部署的文件的最简单方式。 – extorn
Maven发布的想法是将工件部署到版本库(由distributionManagement区域定义)与可能的补充工件(如javadoc,源代码等)。在发布过程中,像1.2.3-SNAPSHOT这样的版本将更改为1.2.3,并且pom的等会自动更新,下一个开发步骤将增加到(1.2.4-SNAPSHOT),而1.2.3的文物将会编译,测试等,并部署到发布版本库。 – khmarbaise