2013-07-10 53 views
0

當我使用maven構建我的應用程序時,我運行mvn clean install。作爲安裝生命週期的一部分,我從Google's GAE Maven plugin運行appengine:devserver_start。這似乎已經綁定到生命週期中的一個步驟,因此它從頭開始重新執行一些構建步驟,儘管我運行的是mvn install。例如,資源步驟重新運行。我有自己的Java腳本運行以下載我的構建的最新資源。但由於appengine:devserver_stop,我需要再次無用地運行這個cript,因爲資源步驟被重新執行。Maven插件執行更改Maven屬性或跳過構建生命週期步驟

我能想到兩種方法可以避免這種情況,但我不確定如何配置這兩種方式。首先會以某種方式跳過我已經運行過的重新運行的構建步驟。另一種方法是爲插件執行更改Maven POM屬性。我有一個Maven屬性集,可以是truefalse,我可以使用它來設置skip設置我在資源期間使用的Java腳本(因爲我使用exec-maven-plugin運行此腳本)。將此視爲Maven屬性,可以使用-D標誌設置該屬性。我可以爲插件更改此屬性嗎?

如果您在思考我的方案時遇到問題,請考慮運行mvn compile install時會發生什麼情況。所有構建生命週期步驟,直到compile將運行,然後所有編譯步驟,直到install將運行,包括compile

回答

1

解決此類問題的常用/簡單方法是使用maven profile。只需創建一個包含具有首選階段插件的新配置文件。

+0

這是很好的信息要知道,但仍然沒有回答有關如何讓Maven插件不執行構建生命週期中的先前步驟。 – ecbrodie

相關問題