當我使用maven構建我的應用程序時,我運行mvn clean install
。作爲安裝生命週期的一部分,我從Google's GAE Maven plugin運行appengine:devserver_start
。這似乎已經綁定到生命週期中的一個步驟,因此它從頭開始重新執行一些構建步驟,儘管我運行的是mvn install
。例如,資源步驟重新運行。我有自己的Java腳本運行以下載我的構建的最新資源。但由於appengine:devserver_stop
,我需要再次無用地運行這個cript,因爲資源步驟被重新執行。Maven插件執行更改Maven屬性或跳過構建生命週期步驟
我能想到兩種方法可以避免這種情況,但我不確定如何配置這兩種方式。首先會以某種方式跳過我已經運行過的重新運行的構建步驟。另一種方法是爲插件執行更改Maven POM屬性。我有一個Maven屬性集,可以是true
或false
,我可以使用它來設置skip
設置我在資源期間使用的Java腳本(因爲我使用exec-maven-plugin運行此腳本)。將此視爲Maven屬性,可以使用-D標誌設置該屬性。我可以爲插件更改此屬性嗎?
如果您在思考我的方案時遇到問題,請考慮運行mvn compile install
時會發生什麼情況。所有構建生命週期步驟,直到compile
將運行,然後所有編譯步驟,直到install
將運行,包括compile
。
這是很好的信息要知道,但仍然沒有回答有關如何讓Maven插件不執行構建生命週期中的先前步驟。 – ecbrodie