代码之家  ›  专栏  ›  技术社区  ›  Dave

运行单个maven插件执行?

  •  83
  • Dave  · 技术社区  · 14 年前

    我以为我是一个经验丰富的Maven用户,但我有一个关于如何做到这一点的思维障碍!

    我已经能够使用Maven SQL插件通过我定义并绑定到的插件执行在数据库中删除、创建和安装模式。 pre-integration-test 相位。

    但是,现在我想在命令行中随时使用相同的SQL插件插入一些示例数据——也就是说,不绑定到任何生命周期目标。有几个不同的示例数据集,所以我想定义几个不同的执行。

    但是,是否有一种方法可以通过使用执行ID从命令行运行这些执行中的一个?

    2 回复  |  直到 7 年前
        1
  •  109
  •   Community T.Woody    7 年前

    如在 How to execute maven plugin execution directly from command line? ,这个 功能已经 implemented 作为 MNG-5768 ,在Maven 3.3.1中提供。

    变更将:

    扩展直接插件调用语法以允许可选的@execution id参数,例如org.apache.maven.plugins:maven remote resources plugin:1.0:process@execution id。

    所以,只要你给你的执行一个ID:

    mvn sql:execute@specific-execution-id
    

    使用POM中配置的执行。

        2
  •  47
  •   mkobit    8 年前

    但是,是否有一种方法可以通过使用执行ID从命令行运行这些执行中的一个?

    不, not possible . 但有可能的是定义 “A” 使用“特殊”从命令行调用插件时要使用的配置 default-cli 执行ID:

    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>sql-maven-plugin</artifactId>
      <version>1.4</version>
      ...
      <executions>
        <execution>
          <id>default-cli</id>
          <configuration>
            ...
          </configuration>
        </execution>
        ...
      </executions>
    </plugin>
    

    简单的呼叫 mvn sql:execute .

    详情见下文(来自 Maven 2.2.0 Release Notes ):

    • MNG-3401 -从Maven 2.2.0开始, 直接从 命令行可以在 POM与其他插件分开 使用特殊 executionId 打电话 缺省CLI . 在此之前,所有配置 对于命令行,目标必须进入 插件级配置,maven 2.2.0允许将命令行特定配置分为 他们自己 <execution> . 为了更多 信息,请参见 Guide to Default Execution IDs .