我在命令行上使用Maven,我的构建需要一段时间才能完成(1- 2分钟)。我正在寻找一种可能性,以挂钩到构建的END,并在构建完成时触发一个特定的命令(通过ant启动一个程序,等等)-这取决于我的构建结果(成功/失败)。我的目标是我的电脑只播放一个声音(一个是成功的构建,另一个是失败的构建),这样我就可以注意到我的构建已经完成。我能实现这一点吗?如何实现?我想Ant是一种可能性,但我希望没有Ant我也能做到。
vmdwslir1#
这应该可以让你开始。
<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>
jdzmm42g2#
这里有一个小脚本(适用于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
jljoyd4f3#
谢谢你的启发!因为我在Windows上,我用一个Batch脚本实现了它,它调用了一个小Java程序。这个程序根据给定的ErrorLevel触发一个动作(显示一个大的绿色/红色JPanel,播放声音)。我现在调用m compile,而不是调用mvn compile等m.bat:
m compile
mvn compile
@echo off call mvn %* start javaw -cp "D:\Workspace\Java\BuildInfo\bin" BuildInfo %ERRORLEVEL%
工作完美。现在我不必再看控制台,看看我的建设是不是完成了!
szqfcxe24#
我可以想象,就像大多数优秀的命令行工具一样,the exit code在终止时从mvn返回的结果反映了构建是否成功。换句话说,当构建成功时,mvn返回1,当构建失败时,mvn返回0(您需要查看具体细节以确定)。如果是这样的话,您可以编写一个自定义批处理/shell脚本,它只 Package mvn命令,将接收到的任何参数传递给mvn命令(这样您就可以轻松地运行mymvn compile和mymvn clean deploy site)。然后,您的自定义 Package 脚本可以调用任何必要的命令,以根据mvn的返回代码播放声音。
mvn
mymvn compile
mymvn clean deploy site
tsm1rwdh5#
如果你只是想得到通知,那么https://github.com/jcgay/maven-notifier可能是你正在寻找的。
5条答案
按热度按时间vmdwslir1#
这应该可以让你开始。
您将需要这个Maven存储库。
jdzmm42g2#
这里有一个小脚本(适用于Windows),我们的一些开发人员使用它来简单地改变cmd提示符的bg颜色,同样使用退出代码。
jljoyd4f3#
谢谢你的启发!因为我在Windows上,我用一个Batch脚本实现了它,它调用了一个小Java程序。这个程序根据给定的ErrorLevel触发一个动作(显示一个大的绿色/红色JPanel,播放声音)。
我现在调用
m compile
,而不是调用mvn compile
等m.bat:
工作完美。现在我不必再看控制台,看看我的建设是不是完成了!
szqfcxe24#
我可以想象,就像大多数优秀的命令行工具一样,the exit code在终止时从
mvn
返回的结果反映了构建是否成功。换句话说,当构建成功时,mvn
返回1,当构建失败时,mvn
返回0(您需要查看具体细节以确定)。如果是这样的话,您可以编写一个自定义批处理/shell脚本,它只 Package
mvn
命令,将接收到的任何参数传递给mvn
命令(这样您就可以轻松地运行mymvn compile
和mymvn clean deploy site
)。然后,您的自定义 Package 脚本可以调用任何必要的命令,以根据
mvn
的返回代码播放声音。tsm1rwdh5#
如果你只是想得到通知,那么https://github.com/jcgay/maven-notifier可能是你正在寻找的。