maven-2 - 使用 Maven 配置文件来控制构建执行

标签 maven-2

我需要修改大型项目的 Maven 构建以跳过典型开发构建期间的某些步骤(即不要构建 *-source.jar 文件)。我为 maven 搜索了“条件执行”,但没有找到任何东西。

开发配置文件听起来像是这样做的直观方式 - 但我不知道 maven 有多直观。配置文件的文档显示了如何为不同的配置文件设置不同的属性(即数据库连接参数)。我想我可以设置一个属性,然后测试该属性是否设置在 maven-source-plugin - executions - execution 标签中。

这是在 Maven 中进行条件执行的正确方法吗?

在 Maven 中执行此操作的“正确”方法是什么?

最佳答案

您考虑得有点倒退:让配置文件启用该行为,而不是禁用它。这正是配置文件最擅长的,也正是您的情况:您只希望在某些情况下运行这些步骤。所以你可能有这样的事情:

<profile>
  <id>source-jars</id>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        ...

事实上,在 maven-source-plugin usage page 上有一个这样的例子。 .当您需要生成工件时,请使用 mvn -P source-jars (或其他)。就是这样!如果您只需要在发布时执行此操作,release plugin甚至提供了一种方法来定义要在发布插件配置中正确使用的配置文件。

关于maven-2 - 使用 Maven 配置文件来控制构建执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4684837/

相关文章:

maven-2 - 针对 Maven 的案子?

java - Maven:build ear:跳过编译阶段?

maven-2 - Maven cobertura 插件 - 多模块项目的一份报告

java - Maven中指定非编译依赖并打包为资源

java - 如何在我的 Maven 项目中更改 ejb-jar.xml 的位置?

java - 下载宠物护理应用程序,帮助运行它

java - Maven 使用 pom.xml 将 Maven 存储库从 {user}/.m2/repository 更改为 projectfolder

maven-2 - 来自另一个模块的 Maven 模块属性

java - 如何管理对 servlet-api 的依赖?

使用 Maven 的 Spring 自定义命名空间