mvn clean install
行家都知道,清潔是一個生命週期和安裝是默認的生命週期
如果我叫
mvn deploy
行家的相將按順序執行默認生命週期的所有階段。
有沒有辦法通過給予生命週期名稱(而不是執行生命週期的最後一個定義)來調用默認生命週期?
編輯:所以現在的問題是:是否有一個命令
mvn lifecyclename
是啓動默認的生命週期的執行?
mvn clean install
行家都知道,清潔是一個生命週期和安裝是默認的生命週期
如果我叫
mvn deploy
行家的相將按順序執行默認生命週期的所有階段。
有沒有辦法通過給予生命週期名稱(而不是執行生命週期的最後一個定義)來調用默認生命週期?
編輯:所以現在的問題是:是否有一個命令
mvn lifecyclename
是啓動默認的生命週期的執行?
似乎是一場誤會召喚。進一步閱讀可以澄清,
mvn clean
不會調用整個清潔生命週期。事實上,清潔生命週期中有一個清潔階段。命令執行此階段而不是生命週期。
據我所知,你不能執行一個孤立的生命週期階段。
但是你可以執行一個獨立的插件目標。
mvn deploy:deploy
這將不會觸發任何插件運行依賴於deploy
階段。但是你總是可以在命令行中添加更多的插件執行。所以我最好用跳過所有插件執行的配置文件。
如果你想執行一個myplugin:mygoal
這是綁deploy
相,然後
mvn myplugin:mygoal deploy:deploy
但執行的配置必須在CLI中。
但是你最好不要跳過你不想要的插件執行。在命令行中只跳過test
和integration-test
。但是,您可以通過配置文件將缺省循環的配置設置爲跳過。
<profiles>
<profile>
<id>skip</id>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
...
然後用
mvn deploy -Pskip
沒有基於生命週期名稱運行生命週期的命令。所以你不能做mvn Default
,並期望它運行到Default:deploy
。您將不得不提及週期的任務,如test
,package
,clean
,並且擁有此任務的生命週期將會激活。
以生命週期爲參數是沒有意義的。這會令人困惑。例如運行mvn clean
是清潔生命週期還是乾淨任務?
或者,將會更詳細地輸入mvn clean
將運行Clean生命週期;和mvn clean:clean
將運行清潔生命週期,直到clean
任務。
Maven有三個生命週期。執行任何生命週期的任務(比如task_N)將導致執行整個生命週期直到該任務(task_N)。這三個生命週期是清潔,默認和網站。
欲瞭解更多詳情請看這裏Introduction to Maven Life-cycles and task order
你看,當你執行說,mvn test
這些都是在爲了
驗證>初始化>生成來源>工藝源>生成被執行的事-resources> process-resources> compile> process-classes> post-process> generate-test-sources> process-test-sources> generate-test-resources> process-test-resources> test-compile> process-test-classes > test
您不能跳過任何默認任務。您可以掛接在任務期間執行的插件。
如果幾個階段的命名階段相同,會發生什麼? – Abdull 2013-08-20 13:33:16
不知道你是如何參考我的問題:-)我正在尋找一個命令,如「mvn lifecyclename」,啓動默認生命週期... – Matthias 2012-07-19 08:06:06
好吧,我雖然說你想跳過一些階段 – ssedano 2012-07-19 08:26:23
雅...我我不是以英語爲母語的人:-( – Matthias 2012-07-19 08:31:21