如何让Maven模块不导出jar?

时间:2010-02-05 23:15:27

标签: maven-2

我有一个包含三个模块的Maven构建。

  • 模块A导出一个jar。
  • 模块B依赖于A并导出jar。
  • 模块C是一组依赖于A和B的回归测试。

回归测试不仅仅是模块B的一部分的原因是它们应该能够针对A和B的多个版本运行以确保向后兼容性。我希望能够从顶级构建运行deploy来创建A.jar和B.jar,但不能创建C.jar。这可能吗?

4 个答案:

答案 0 :(得分:8)

<properties>
     <maven.deploy.skip>true</maven.deploy.skip>
</properties>

如果您根本不需要创建JAR,则可能需要再添加两个属性:

<jar.skipIfEmpty>true</jar.skipIfEmpty>
<maven.install.skip>true</maven.install.skip>

请注意,您仍然需要maven.deploy.skip,否则部署期间构建将失败。

答案 1 :(得分:6)

maven deploy插件包含一个skip选项,可防止工件部署。

<plugin>
  <artifactId>maven-deploy-plugin</artifactId>
  <configuration>
      <skip>true</skip>
  </configuration>
</plugin>

您可以尝试将其添加到项目C。

答案 2 :(得分:3)

对C使用pom类型的包装并重新绑定所有必需的插件:

<project>
  ...
  <packaging>pom</packaging>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <executions>
          <execution>
            <id>test-compile</id>
            <phase>test-compile</phase>
            <goals>
              <goal>testCompile</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <executions>
          <execution>
            <id>process-test-resources</id>
            <phase>process-test-resources</phase>
            <goals>
              <goal>testResources</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <executions>
          <execution>
            <id>test</id>
            <phase>test</phase>
            <goals>
              <goal>test</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      ...
    </plugins>
    ...
  </build>
  ...
</project>

答案 3 :(得分:2)

以下用于模块C:

<packaging>pom</packaging>