maven发布:准备不使用发布版本部署项目

时间:2011-02-14 11:30:36

标签: maven-release-plugin

我有一个包含多个项目的扁平项目结构。 我使用Nexus作为内部存储库,使用SVN进行源代码管理。 我能够部署项目的SNAPSHOT版本。

在我的父pom中,我添加了maven release插件:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-release-plugin</artifactId>
  <version>2.1</version>
</plugin>

和发布信息:

<distributionManagement>
  <repository>
    <id>releases</id>
    <url>http://localhost:8081/nexus/content/repositories/releases</url>
  </repository>
  <snapshotRepository>
    <id>snapshots</id>
    <name>Internal Snapshots</name>
    <url>http://localhost:8081/nexus/content/repositories/snapshots</url>
  </snapshotRepository>
</distributionManagement>

当我执行mvn release:prepare时,具有发布版本的工件不会部署到repo。因此,如果我有一个项目A依赖于项目B.项目A无法使用发布版本获取B的工件。

1 个答案:

答案 0 :(得分:10)

发布:默认情况下准备调用“clean”和“verify”目标,这些目标只是尝试编译并运行测试。因此,没有任何内容部署到您的远程存储库,也不会安装在本地存 要使用新版本处理多模块项目中的依赖项,您需要在发布期间在本地存储库中安装内容:prepare,因此使用prepareGoals属性将默认目标更改为“clean”和“install”。

<plugin>
    <artifactId>maven-release-plugin</artifactId>
    <version>2.1</version>
    <configuration>
       <preparationGoals>clean install</preparationGoals>
    </configuration>
</plugin>

您可以在构建过程中添加所需的任何目标。

对远程存储库的实际部署将由发布:执行目标完成。

劳伦