在我目前的项目中,我们使用flexmojos-plugin编译一个小型Flex应用程序。该插件具有各种配置,但没有配置目标,所以我想知道是什么让Maven“知道”要执行的目标是什么?
该插件有something like 25 goals,据我所知,它并没有全部运行。因此,我假设插件中必须有某种配置,说明默认情况下要执行哪些目标 - 某种默认执行。我查看the source for the swf-compile Mojo,我看不到任何类似“@default”的注释,那么它在哪里配置?
答案 0 :(得分:1)
如果你进入一个特定的目标而不是你看到这个目标所涉及的生命周期阶段的文档。 例如绑定到编译生命周期阶段的https://repository.sonatype.org/content/sites/maven-sites/flexmojos/3.8/compile-swc-mojo.html。在源代码中,您可以看到目标受 @phase 约束的生命周期阶段。
此外,如果你做一个简单的mvn clean包,你可以在运行期间看到输出中的目标。如下所示:
[INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ xsd ---
答案 1 :(得分:1)
插件目标到生命周期阶段的实际映射是由打包类型产生的,并在定义此打包的插件中提供(不包括jar
,ejb
等预定义包装。 Maven分发)。
对于Flexmojos,您可以在此处找到它:
http://www.jarvana.com/jarvana/view/org/sonatype/flexmojos/flexmojos-maven-plugin/4.0-pre-alpha-1/flexmojos-maven-plugin-4.0-pre-alpha-1.jar!/META-INF/plexus/components.xml
此文件定义Plexus的LifecycleMapping
类型组件,为其自己的包装类型提供这些映射:swc
,swf
,air
。