2012-04-24 57 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 --- 
相關問題