2012-04-24 64 views
2

在当前的项目中,我们使用flexmojos插件来编译一个小的Flex应用程序。该插件有各种配置,但没有配置目标,所以我想知道是什么让Maven“知道”要执行或不执行什么目标?我在哪里可以看到Maven插件的默认执行计划?

该插件有something like 25 goals,据我所知,它并没有运行它们。因此,我假设在插件中必须有某种配置,指出默认执行哪些目标 - 某种默认执行。我看着the source for the swf-compile Mojo,我看不到任何像“@default”注释的东西,那么它在哪里配置?

+0

看来它可能会在这里回答:http://stackoverflow.com/questions/5285684/maven-plugin-execution。 但是为了确保:我是否正确地说每个具有@phase注释的目标都将以默认执行方式运行? – oligofren 2012-04-24 09:06:59

回答

1

的插件目标的实际映射到从包装类型的生命周期的阶段的结果和被定义此包装插件内设置(不包括预定义的容器等jarejb等通过提供的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

这个文件定义丛,对自己的包装形式提供这些映射LifecycleMapping类型的组件:swcswfair

+0

就是这样! components.xml使用阶段 - >目标的映射定义了DefaultLifecycleMapping。 – oligofren 2012-04-24 14:33:00

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 --- 
相关问题