我正在编写一个Java软件,对于某些可选操作,它使用外部程序。即,我的程序编写'.dot'
文件,并使用GraphViz
将该文件编译为png
图像。
是否可以使用Maven
进行检查,如果未安装所需的程序,则会打印警告消息???
答案 0 :(得分:1)
您可以使用GMaven plugin执行一些Groovy代码来检查是否已安装GraphViz。
例如,如果您在未安装GraphViz的情况下运行mvn verify
,此代码将打印一条简单的警告消息:
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>gmaven-plugin</artifactId>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
try {
def exitValue = "dot -?".execute().waitFor()
if(exitValue != 0)
println "Warning: dot is not installed!"
} catch (IOException e){
println "Warning: dot is not installed!"
}
</source>
</configuration>
</execution>
</executions>
</plugin>
这确实需要用户发出此特定的maven命令,尽管您可以将其链接到different life cycle phase。
但是,如果要在不要求用户使用maven的情况下部署应用程序,则可能需要在请求可选操作时发出警告。