创建用Groovy 1.8编写的Maven插件
我正在尝试使用groovy创建一个maven插件。我想使用groovy 1.8版或更高版本 如果我使用:创建用Groovy 1.8编写的Maven插件,maven,groovy,maven-plugin,gmaven-plugin,Maven,Groovy,Maven Plugin,Gmaven Plugin,我正在尝试使用groovy创建一个maven插件。我想使用groovy 1.8版或更高版本 如果我使用: <groupId>org.codehaus.groovy.maven</groupId> <artifactId>gmaven-plugin</artifactId> <version>1.0-rc-4</version> 当我尝试使用我的插件时,maven根本不调用我的插件;我猜这是因为缺少插件描述符 是否有人能够使
<groupId>org.codehaus.groovy.maven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.0-rc-4</version>
当我尝试使用我的插件时,maven根本不调用我的插件;我猜这是因为缺少插件描述符
是否有人能够使用groovy成功构建maven插件,其版本为1.8或更高版本
PS:我也查看了插件而不是gmaven,但我似乎总是得到上面的警告。没错。如果您阅读,您会发现gmaven mojo是硬编码的,可以使用Groovy 1.5。这样做是为了使它能够与插件的潜在用户提供最大的兼容性(因为Groovy 1.6需要Java 5,Groovy 2.3需要Java 6)。GMaven不再真正维护了,所以不要指望它会改变(对不起) 大多数工具(如GMavenPlus Groovyc Ant任务)不支持这一点的原因是Groovy的官方模型类没有保留Javadoc(它保存Maven 2的注释式标记)。GMaven通过在内部分叉Groovy代码来解决这个问题。用于Maven的Groovy Eclipse插件不支持这一点,因为它根本不创建存根,所以Maven 2没有任何东西可以用来进行连接。有趣的是,它们也会分叉Groovy的代码,但还有其他原因 以下是您的选择:
<skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
true
到您的maven插件配置。这令人失望:(看来在我转到Maven 3之前,我一直在使用Groovy 1.5。很抱歉,我又提了一个老问题,但是@Keegan:有没有使用GMavenPlus和Annotations方法来创建Mojos的例子?我们有使用GMaven的工作版本,但管理层不喜欢使用废弃的项目。我们想使用GMavenPlus,但我们有一头猛兽我让一个开始工作x)你可以用我的集成测试作为一个例子:。我需要找到一个更好的方法来把人们引向那里。你不是第一个问这个问题的人。也许我会在“示例”页面上链接它。@Keegan:你有没有遇到过在mojo参数注释中扩展project.basedir的问题?例如:(所以不让我使用at符号)参数(defaultValue=“${project.basedir}/src/main/resources/target.template”)字符串模板…Groovy表示需要内联constant@MattEdge只需使用单引号而不是双引号,这样就可以通过Groovy的GString扩展,并给Maven一个扩展的机会。
[WARNING] Deprecation Alert:
[WARNING] No mojo descriptors were found in this project which has a packaging type of maven-plugin.
[WARNING] In future versions of the plugin tools, this will fail the build.
[WARNING] If this project is an archetype, change the packaging type from maven-plugin to maven-archetype.
<skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>