如何让Maven模块不导出jar?

Cra*_*lin 14 maven-2

我有一个带有三个模块的Maven构建.

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

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

Cra*_*lin 9

<properties>
     <maven.deploy.skip>true</maven.deploy.skip>
</properties>
Run Code Online (Sandbox Code Playgroud)

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

<jar.skipIfEmpty>true</jar.skipIfEmpty>
<maven.install.skip>true</maven.install.skip>
Run Code Online (Sandbox Code Playgroud)

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


sal*_*sal 6

maven deploy插件包含一个可以防止工件部署的跳过选项.

<plugin>
  <artifactId>maven-deploy-plugin</artifactId>
  <configuration>
      <skip>true</skip>
  </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

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