2012-01-31 50 views
0

maven很新穎。我有一個可用於構建和部署我的j2ee項目及其工作正常的pom文件。 (使用maven 3)。爲不同的部署場景設置maven pom文件

我想知道如何在同一個pom中設置兩個不同的部署場景 - 一個用於在我的開發環境中構建和部署,另一個用於構建和部署到測試環境。

兩者之間唯一的區別(現在)將是:

DEV-構建並不做一個SCM結賬 DEV-構建部署到Tomcat服務器A

測試建立做的SCM checkout test build部署到tomcat服務器B

maven中的哪些機制最適合用於以這種方式創建兩個不同的部署方案。我見過配置文件 - 這是我應該使用的 - 並且如果配置文件是答案,例如,我如何爲一個配置文件包含scm結帳,但不包含其他配置文件。

感謝您的回覆。

回答

3

這絕對聽起來像一個配置文件解決方案將效果最好。每個配置文件都有其特定的構建步驟,插件,屬性等。該配置文件可以定義激活部分以確定配置文件何時處於活動狀態。激活可以基於OS,JDK版本或環境變量等幾個方面。對於顯式控制,配置文件可以打開和關閉使用-P命令行選項來切換:

mvn -P profile1,!profile2 

該命令激活配置文件1和停用PROFILE2。

+0

我不認爲你可以創建一個配置文件不從SCM結帳。你確定? – 2012-02-01 02:58:26

+1

假設正在使用Maven SCM Plugin完成結賬,請在需要結賬的配置文件中配置插件。對於不需要的配置文件,省略插件配置。 – 2012-02-01 04:28:50

+0

配置文件的方法似乎是正確的,我想要的。我對它們做了更多的閱讀,並且使得tomcat部署可以使用不同的配置文件。我正在使用插件的SCM,所以我認爲它應該可以工作,但還沒有嘗試過,仍然讓我的頭繞着SCM插件配置,從命令行完成它的一部分,需要在POM中正確完成。 – gamozzii 2012-02-01 10:22:51