我以为我是一个经验丰富的Maven用户,但是我对如何做到这一点有一个心理障碍!

我已经能够使用MAVEN SQL插件删除,创建和安装架构通过我定义并绑定到该插件的插件执行 pre-integration-test 阶段。

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

但是,是否可以使用执行ID从命令行中运行这些执行之一?

有帮助吗?

解决方案

如前所述 如何直接从命令行执行Maven插件?, ,此功能已经 实施的 作为 MNG-5768, ,可在Maven 3.3.1中使用。

更改将:

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

因此,只要您给执行一个ID:

mvn sql:execute@specific-execution-id

使用POM中配置的执行。

其他提示

但是,是否可以使用执行ID从命令行中运行这些执行之一?

不, 不可能. 。虽然可以定义什么 “一种” 使用“ Special”从命令行调用插件时要使用的配置 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发行笔记):

  • MNG-3401 - 从Maven 2.2.0开始,直接从命令行调用的目标可以使用特殊的POM与其他插件调用分开配置 executionIddefault-cli。以前,所有命令行目标的配置都必须在插件级配置中进行,Maven 2.2.0允许将特定于命令行的配置分为自己 <execution>. 。有关更多信息,请参阅 指南默认执行ID.
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top