我要做的是为所有子项目推出几个父母poms。我有一个项目,包含一个父pom和两个子模块poms。如果这有所不同,那么所有三种包装都是pom型。当我部署时,它未能部署子模块,说它们被跳过。
家长Pom
<groupId>com.test.cpbx</groupId>
<artifactId>parent</artifactId>
<packaging>pom</packaging>
<version>1.1-SNAPSHOT</version>
<name>Parent Pom</name>
<scm>
<connection>scm:svn:https://url/trunk</connection>
</scm>
<modules>
<module>appia</module>
<module>rialto</module>
</modules>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<configuration>
<goals>deploy</goals>
<providerImplementations>
<svn>javasvn</svn>
</providerImplementations>
</configuration>
<dependencies>
<dependency>
<groupId>com.google.code.maven-scm-provider-svnjava</groupId>
<artifactId>maven-scm-provider-svnjava</artifactId>
<version>2.0.5</version>
<scope>compile</scope>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
</dependencies>
这是我的一个孩子的poms,它们是唯一的变化是artifactId名称
儿童POM
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.test.cpbx</groupId>
<artifactId>parent</artifactId>
<version>1.1-SNAPSHOT</version>
</parent>
<artifactId>rialto-parent</artifactId>
<packaging>pom</packaging>
<name>Rialto Parent POM</name>
</project>
输出
mvn -B -DreleaseVersion=1.1 -DdevelopmentVersion=1.2.0-SNAPSHOT release:prepare -DdryRun
...
[INFO] Not removing release POMs
[INFO] Executing completion goals - since this is simulation mode it is running against the original project, not the rewritten ones
[INFO] Full run would be commit 3 files with message: '[maven-release-plugin] prepare for next development iteration'
[INFO] Release preparation simulation complete.
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Parent Pom ........................................ SUCCESS [2.573s]
[INFO] Appia Parent POM .................................. SKIPPED
[INFO] Rialto Parent POM ................................. SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.749s
[INFO] Finished at: Wed May 21 14:52:30 CDT 2014
[INFO] Final Memory: 15M/114M
[INFO] ------------------------------------------------------------------------
答案 0 :(得分:11)
maven的输出有些混乱。
输出并不意味着它正在跳过构建模块或部署模块。
这是关于版本的重构的消息。输出告诉我们父pom拥有版本,子版本依赖于父pom。这意味着它不需要重构子模块pom.xml,因此它将反应器摘要中的子项打印为SKIPPED
。
答案 1 :(得分:2)
另一种可能性是,它意味着在能够构建这些模块之前该过程不起作用:
如果激活并行执行,它可以显示如下内容:
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Parent Pom ........................................ SUCCESS [2.573s]
[INFO] Child1 POM ........................................ SKIPPED
[INFO] Child2 POM ........................................ SKIPPED
[INFO] Dependent Sibling POM ............................. FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
如果依赖兄弟需要其中一个Childx工件,它可以在构建之前请求依赖。这会导致整个构建失败。
认为最后一次失败是因为其他人在构建期间错过了,这是误导性的。概述中的ABORTED状态可以节省一些时间。