Maven:Build完成时触发自定义命令,取决于结果(成功/失败)

Ing*_*her 7 java maven-2 maven

我在命令行上使用Maven,我的构建需要一段时间才能完成(1-2分钟).我正在寻找一种可能挂钩到构建的END并在构建完成时触发特定命令(由ant等启动程序) - 依赖于我的构建结果(成功/失败).

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

我能意识到这一点,以及如何实现?我想Ant是可能的,但我希望我也可以在没有Ant的情况下做到这一点.

小智 10

这应该让你开始.

        <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>
Run Code Online (Sandbox Code Playgroud)

你会想要这个Maven存储库.

<repository>
    <id>org.codehaus.repository</id>
    <name>Codehaus repository</name>
    <url>http://repo1.maven.org/maven2/org/codehaus/mojo/</url>
</repository>
Run Code Online (Sandbox Code Playgroud)


puu*_*uug 5

这是一个小脚本(对于Windows)我们的一些开发人员使用它只是改变了cmd提示符的bg颜色,再次使用退出代码.

@echo off

color 07

call mvn %*

IF ERRORLEVEL 1 goto RedBuild
IF ERRORLEVEL 0 goto GreenBuild

:RedBuild
color 4F
goto TheEnd

:GreenBuild
color 2F

:TheEnd
Run Code Online (Sandbox Code Playgroud)