我即将编写几个Maven插件来缓解R& D人的生活。我正在考虑用Groovy或Java编写插件。
该插件很可能需要:
您在使用这两种语言编写插件的丰富经验中可能获得的任何提示都将对我有所帮助!
答案 0 :(得分:6)
我对这两种语言都有很多经验,并且还编写了一些Maven插件。我用Java编写它们,因为我别无选择,但如果我有选择,我会选择Groovy。
在我看来,除非性能绝对至关重要,否则无论你在做什么,Groovy通常都是比Java更好的选择。我这样说是因为在Groovy中编写内容通常比在Java中编写内容少30%-50%。使用Groovy时省略的大多数代码都被认为是样板Java代码。
Groovy的紧凑性是由于两个因素
JDK的高效率扩展。 GDK为Java标准库添加了许多非常有用的方法。例如,在Java中,需要大约10-20行代码来读取文件的内容(并正确处理异常)。使用Groovy,您只需使用:
String fileContent = new File('/foo/bar/baz.txt').text
此外,GMaven提供对writing Maven plugins in Groovy的支持,它看起来比在Java中编写插件时必须使用的AbstractMojo
类好很多
您提到您的插件需要解析pom.xml。如果这是安装插件的项目的pom.xml,则不需要解析内容,因为插件可以通过MavenProject
的实例获得有关项目的所有信息。