【问题标题】:How do i hook a batch file to maven?如何将批处理文件挂接到 maven?
【发布时间】:2017-03-31 18:06:26
【问题描述】:

我需要挂钩或附加一个批处理文件到 maven

所以如果让我说我输入 mvn包

并且没有错误,然后我创建的批处理文件将开始运行。

有没有办法做这样的事情?

【问题讨论】:

    标签: maven batch-file hook


    【解决方案1】:

    您可以使用maven-exec-plugin 轻松做到这一点并将其与包阶段链接:

        <build>
          <plugins>
            <plugin>
              <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.2</version>
                <executions>
                  <execution>
                    <id>runbatchfile</id>
                    <phase>package</phase>
                    <goals>
                      <goal>exec</goal>
                    </goals>
                  </execution>
                </executions>
                <configuration>
                  <executable>c:\path\to\file.bat</executable>
                </configuration>
              </plugin>
            </plugins>
    

    使用此配置:您的批处理文件将在与包阶段关联的默认目标之后执行。

    【讨论】:

    • 谢谢本,我怎样才能确保它只有在目标没有遇到错误的情况下才会运行?
    • 如果在批量执行前出现异常,maven生命周期会停止。由于自定义目标在默认目标之后执行:如果在前一个阶段甚至打包阶段出现问题(在执行默认目标期间):mvn 将发出构建失败并且您的批处理文件将不会被执行。 (说服你的最好方法是尝试一下……但我不知道如何在打包阶段触发错误???)
    • 有没有办法在部署阶段之后使用 maven 目标触发批处理文件?
    • @Lucy 只需将 package 替换为 deploy
    • 我试过了,但什么也没发生……有什么原因吗?我正在使用tomcat插件将war文件部署到localhost,所以我想在部署war文件后运行批处理文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-15
    • 1970-01-01
    相关资源
    最近更新 更多