最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

maven的pom.xml中profiles的作用詳解

 更新時(shí)間:2021年12月23日 16:58:25   作者:°Fuhb  
這篇文章主要介紹了maven的pom.xml中profiles的作用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

1、profiles是什么?有什么作用

在maven構(gòu)建的項(xiàng)目都存在一個(gè)pom.xml的項(xiàng)目對(duì)象模型配置文件,用于約束項(xiàng)目(如:jar包管理、構(gòu)建管理等)。profiles是pom.xml中的一個(gè)配置項(xiàng)。

我們?cè)陂_發(fā)項(xiàng)目時(shí)一般都會(huì)區(qū)分線上環(huán)境和測(cè)試環(huán)境,這兩個(gè)環(huán)境需要切換以適應(yīng)不同的環(huán)境需求

在這里插入圖片描述

正式環(huán)境的配置,一般放置于src/main/resources下,而測(cè)試環(huán)境放置于/src/test/resources下面。

profile的主要作用就是區(qū)分正式環(huán)境和測(cè)試環(huán)境的配置

2、如何配置

<profiles>
    <profile>
        <id>release</id>
        <build>
            <resources>
                <resource>
                    <directory>src/main/resources</directory>
                    <includes>
                        <include>**/*</include>
                    </includes>
                </resource>
            </resources>
        </build>
    </profile>
    
    <profile>
        <id>test</id>
        <build>
            <resources>
                <resource>
                    <directory>src/test/resources</directory>
                    <includes>
                        <include>config/*.properties</include>
                        <include>log4j.xml</include>
                    </includes>
                </resource>
                <resource>
                    <directory>src/main/resources</directory>
                    <includes>
                        <include>**/*.xml</include>
                    </includes>
                    <excludes>
                        <exclude>log4j.xml</exclude>
                    </excludes>
                </resource>
            </resources>
        </build>
		<activation>
                <activeByDefault>true</activeByDefault>
           </activation>
    </profile>
</profiles>

如上, 我配置了兩個(gè)profile一個(gè)release用于正式環(huán)境發(fā)布,test用于測(cè)試環(huán)境使用;默認(rèn)開啟測(cè)試環(huán)境,activation->true

測(cè)試環(huán)境與正式環(huán)境只是部分的配置不同,我們需要公用這部分配置。這就使用到了includes and excludes,用引入和排除配置文件

3、區(qū)別構(gòu)建發(fā)布包

構(gòu)建測(cè)試包:

maven package -P test -Dmaven.test.skip=true

構(gòu)建正式包:

maven package -P release -Dmaven.test.skip=true

maven多環(huán)境profiles參數(shù)切換

在實(shí)際開發(fā)項(xiàng)目中,常常有幾種環(huán)境,一般情況下最少有三種環(huán)境:開發(fā)、測(cè)試、正式,各個(gè)環(huán)境之間的參數(shù)也各不相同,

于是在環(huán)境切換時(shí)我們需要修改為各環(huán)境需要的參數(shù),就此我們可以通過maven的配置在切換環(huán)境是簡(jiǎn)化這一步驟.

項(xiàng)目結(jié)構(gòu)圖

src/main/resources/dev 目錄是開發(fā)環(huán)境的配置項(xiàng)目

src/main/resources/test 目錄是測(cè)試環(huán)境的配置項(xiàng)目

在pom.xml定義環(huán)境的profile

	<profiles>
		<profile>
			<id>dev</id>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
			<properties>
				<project.active>dev</project.active>
			</properties>
		</profile>
		<profile>
			<id>test</id>
			<properties>
				<project.active>test</project.active>
			</properties>
		</profile>
	</profiles>

activeByDefault標(biāo)簽的值為true的話表示為默認(rèn)的profile,使用mvn install命令起作用的就是默認(rèn)的 profiles.activation為我們配置激活的profile

<build>
		<finalName>SpringMVC_Spring_Mybatis</finalName>
		<resources>
			<resource>
				<directory>${basedir}/src/main/resources</directory>
				<includes>
					<include>message.properties</include>
					<include>${project.active}/**</include>
				</includes>
			</resource>
			<resource>
				<directory>${basedir}/src/main/resources</directory>
				<excludes>
					<exclude>db.properties</exclude>
					<exclude>user.properties</exclude>
					<exclude>message.properties</exclude>
					<exclude>**/**</exclude>
				</excludes>
			</resource>
		</resources>
		<plugins>
			<plugin>
				<groupId>org.apache.tomcat.maven</groupId>
				<artifactId>tomcat7-maven-plugin</artifactId>
				<version>2.2</version>
				<configuration>
					<uriEncoding>UTF-8</uriEncoding>
					<path>/</path>
					<port>8088</port>
				</configuration>
			</plugin>
		</plugins>
	</build>

在工程的${basedir}/src/main/resource,目錄下(basedir指的是pom文件所在的目錄)

<include>與<exclude>是用來圈定和排除某一文件目錄下的文件是否是工程資源的,<include>中指定的為資源文件,其它的都不是,<exclude>中指定的除了這些都為資源文件,如果<include>與<exclude>劃定的范圍存在沖突時(shí),以<exclude>劃定的范圍為準(zhǔn),當(dāng)<include>與<exclude>指定了相同的文件時(shí),它們是不會(huì)被排除的,如message.properties同時(shí)被<include>與<exclude>指定,但它們還是會(huì)被編譯.

輸入maven指令

mvn clean install -P test

編譯結(jié)果如下圖,只編譯test環(huán)境需要的配置-P后面的test為我們所要激活的profile

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

高陵县| 清徐县| 江阴市| 师宗县| 石城县| 杭锦后旗| 航空| 固镇县| 齐河县| 资中县| 宁安市| 巴彦淖尔市| 合肥市| 喜德县| 安庆市| 即墨市| 泾源县| 商都县| 莆田市| 青田县| 华安县| 冀州市| 木里| 沅江市| 云南省| 阿拉善盟| 慈利县| 大竹县| 南京市| 武胜县| 安远县| 贡觉县| 宝清县| 遵义市| 黄浦区| 中江县| 通许县| 通化县| 白朗县| 神农架林区| 太白县|