Maven構建配置檔案
阿新 • • 發佈:2020-12-29
技術標籤:MavenMaven構建配置檔案
文件說明: Maven構建配置檔案
01. 背景
在開發過程中,我們的專案會存在不同的執行環境(開發、測試、生產),而不同環境中專案的某些配置(資料來源等)是不一樣的,如果我們將軟體部署到不同環境都需要修改相應的配置檔案,這樣來回修改,很容易出錯,而且浪費勞動力。為此Maven提供了一種靈活的解決方案:就是profile功能。
02. 啟用方式
1. 通過maven命令引數
即在使用maven打包時通過-P引數,-P後跟上profile的唯一id,如
mvn package -Ptest
2. 通過pom檔案裡的activation屬性
<profile> <id>prod</id> <properties> <profiles.active>prod</profiles.active> </properties> <!-- activation用來指定啟用方式,可以根據jdk環境,作業系統,環境變數,檔案的存在或缺失 --> <activation> <!--配置預設啟用--> <activeByDefault>true</activeByDefault> <!--通過jdk版本--> <!--當jdk環境版本為1.5時,此profile被啟用--> <jdk>1.5</jdk> <!--當jdk環境版本1.5或以上時,此profile被啟用--> <jdk>[1.5,)</jdk> <!--根據當前作業系統--> <os> <name>Windows XP</name> <family>Windows</family> <arch>x86</arch> <version>5.1.2600</version> </os> <!--通過系統環境變數,name-value自定義--> <property> <name>env</name> <value>test</value> </property> <!--通過檔案的存在或缺失--> <file> <missing>target/generated-sources/axistools/wsdl2java/com/companyname/group</missing> <exists/> </file> </activation> </profile>
這裡我寫了多種方式,可以通過activeByDefault、jdk版本、作業系統、系統環境變數(在win10我試了不成功,win7可以,不知道為啥)、檔案的存在或缺失,實際專案可以根據需要選取一種即可。這種的優先順序低於maven命令引數指定的方式。
3. settings.xml中使用activeProfiles指定(瞭解即可)
即mave目錄下的settings.xml也可以新增下面的程式碼來指定啟用哪個profile。
<activeProfiles> <activeProfile>test</activeProfile> </activeProfiles>
1. 修改{USER_HOME}/.m2/settings.xml,針對的當前使用者的profile配置;修改{MAVEN_HOME}/conf/settings.xml,針對的是全域性的profile配置。
2. profile也可以定義在setting.xml檔案中,但是這種方式個人感覺並不實用的,不推薦。