当前位置: 首页 > 面试题库 >

Maven:在构建完成时触发定制命令,取决于结果(成功/失败)

鲁博瀚
2023-03-14
问题内容

我在命令行上使用Maven,我的构建需要一段时间才能完成(1-2分钟)。我正在寻找一种可能性,可以在构建完成时挂入构建的END并触发特定命令(通过ant等启动程序),具体取决于构建的结果(成功/失败)。

我的目标是我的计算机只播放声音(一个用于成功构建,另一个用于失败构建),因此我会注意到我的构建已完成。

我能意识到吗?我想可能会有Ant,但我希望没有Ant也能做到。


问题答案:

这应该使您入门。

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>groovy-maven-plugin</artifactId>
            <version>1.3</version>
            <executions>
                <execution>
                    <phase>install</phase>
                    <goals>
                        <goal>execute</goal>
                    </goals>
                    <configuration>
                        <source>
                            import java.io.File;
                            import javax.sound.sampled.AudioInputStream;
                            import javax.sound.sampled.AudioSystem;
                            import javax.sound.sampled.Clip;
                            import javax.sound.sampled.DataLine;
                            File soundFile = new File("audio/beep.wav");
                            AudioInputStream sound = AudioSystem.getAudioInputStream(soundFile);
                            DataLine.Info info = new DataLine.Info(Clip.class,sound.getFormat());
                            Clip clip = (Clip) AudioSystem.getLine(info);
                            clip.open(sound);
                            clip.start();
                            sleep(5000);                        
                        </source>
                    </configuration>
                </execution>
            </executions>
        </plugin>

您将需要此Maven存储库。

<repository>
    <id>org.codehaus.repository</id>
    <name>Codehaus repository</name>
    <url>http://repo1.maven.org/maven2/org/codehaus/mojo/</url>
</repository>


 类似资料:
  • 我正在尝试获得另一个功能是提交按钮IE。class=“sucessclass”将在成功或完成时执行。下面是我的代码:

  • 问题内容: 我有三个管道项目,项目a,项目b和项目c。project-c需要一个参数。成功完成project-a或project- b时,我想触发带有参数的project-c的构建。 我可以在管道中使用以下代码在project-a和project-b中执行此操作: 但这需要两名执行者。我希望project-a或project-b在使用参数运行project-c之前完全完成。 问题答案: 您的管道很

  • 我想使用maven-故障安全插件来运行一些集成测试。如果任何测试失败,我希望Maven构建失败而不是构建成功。 我如何配置它,构建不成功是什么? 我的故障保护插件配置为:

  • 问题内容: 命令 : 下面的Dockerfile: 在最后一行失败(./configure …) 如果我删除了最后一行并在容器中运行了bash,然后手动执行了最后一行,那么它将起作用。 我希望将命令添加到Dockerfile中(由RUN前缀)后,在容器中成功运行的任何命令都应该起作用 我错过了什么吗? 问题答案: pwd在RUN命令中不是持久的。您需要在同一RUN中进行cd和配置。 这个Docke