今天小編給大家分享一下Maven怎么配置文件的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
創(chuàng)新互聯(lián)是專業(yè)的哈爾濱網(wǎng)站建設(shè)公司,哈爾濱接單;提供成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行哈爾濱網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
Maven配置文件可用于創(chuàng)建自定義構(gòu)建配置,例如針對(duì)測(cè)試粒度級(jí)別或特定部署環(huán)境。
在本教程中,我們將學(xué)習(xí)如何使用 Maven 配置文件。
通常,當(dāng)我們運(yùn)行mvn package 時(shí),也會(huì)執(zhí)行Maven單元測(cè)試。但是如果我們想快速打包工件并運(yùn)行它來查看它是否有效呢?
首先,我們將創(chuàng)建一個(gè)將maven.test.skip屬性設(shè)置為true 的無測(cè)試配置文件:
<profile> <id>no-tests</id> <properties> <maven.test.skip>true</maven.test.skip> </properties></profile>
接下來,我們將通過運(yùn)行mvn package -Pno-tests命令來執(zhí)行配置文件。現(xiàn)在已創(chuàng)建工件并跳過測(cè)試。在這種情況下,mvn package -Dmaven.test.skip命令會(huì)更容易。
然而,這只是對(duì) Maven 配置文件的介紹。讓我們看一些更復(fù)雜的設(shè)置。
在上一節(jié)中,我們看到了如何創(chuàng)建一個(gè)配置文件。我們可以通過為它們提供唯一的 ID 來配置任意數(shù)量的配置文件。
假設(shè)我們想創(chuàng)建一個(gè)只運(yùn)行我們的集成測(cè)試的配置文件,另一個(gè)用于一組突變測(cè)試。
我們將首先在pom.xml文件中為每個(gè)文件指定一個(gè) id :
<profiles> <profile> <id>integration-tests</id> </profile> <profile> <id>mutation-tests</id> </profile></profiles>
在每個(gè)配置文件元素中,我們可以配置許多元素,例如依賴項(xiàng)、插件、資源、最終名稱。
因此,對(duì)于上面的示例,我們可以分別為integration-tests和mutation-tests添加插件及其依賴項(xiàng)。
將測(cè)試分成配置文件可以使默認(rèn)構(gòu)建更快,因?yàn)樗魂P(guān)注單元測(cè)試。
簡(jiǎn)介范圍:
現(xiàn)在,我們只是將這些配置文件放在我們的pom.xml文件中,該文件僅為我們的項(xiàng)目聲明它們。
但是,在 Maven 3 中,我們實(shí)際上可以將配置文件添加到三個(gè)位置中的任何一個(gè):
項(xiàng)目特定的配置文件進(jìn)入項(xiàng)目的pom.xml 文件
用戶特定的配置文件進(jìn)入用戶的settings.xml文件
全局配置文件進(jìn)入全局settings.xml文件
請(qǐng)注意,Maven 2 確實(shí)支持第四個(gè)位置,但在 Maven 3 中已刪除。
我們盡可能在pom.xml中配置配置文件。原因是我們希望在我們的開發(fā)機(jī)器和構(gòu)建機(jī)器上都使用配置文件。使用settings.xml更加困難且容易出錯(cuò),因?yàn)槲覀儽仨氉约涸跇?gòu)建環(huán)境中分發(fā)它。
創(chuàng)建一個(gè)或多個(gè)配置文件后,我們可以開始使用它們,或者換句話說,激活它們。
(1)查看哪些配置文件處于活動(dòng)狀態(tài)
讓我們使用help:active-profiles目標(biāo)來查看哪些配置文件在我們的默認(rèn)構(gòu)建中處于活動(dòng)狀態(tài):
mvn help:active-profiles
實(shí)際上,由于我們還沒有激活任何東西,我們得到:
The following profiles are active:
我們馬上就會(huì)激活它們。但很快,另一種查看激活內(nèi)容的方法是將maven-help-plugin包含在我們的pom.xml 中,并將 active-profiles目標(biāo)與 編譯 階段聯(lián)系起來:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-help-plugin</artifactId> <version>3.2.0</version> <executions> <execution> <id>show-profiles</id> <phase>compile</phase> <goals> <goal>active-profiles</goal> </goals> </execution> </executions> </plugin> </plugins></build>
現(xiàn)在,讓我們開始使用它們吧!我們將研究幾種不同的方式。
(2)使用-P
實(shí)際上,我們?cè)谝婚_始就已經(jīng)看到了一種方法,那就是我們可以使用-P參數(shù)激活配置文件。
因此,讓我們從啟用集成測(cè)試配置文件開始:
mvn package -P integration-tests
如果我們使用maven-help-plugin或mvn help:active-profiles -P integration-tests命令驗(yàn)證活動(dòng)配置文件,我們將得到以下結(jié)果:
The following profiles are active: - integration-tests
如果我們想同時(shí)激活多個(gè)配置文件,我們使用逗號(hào)分隔的配置文件列表:
mvn package -P integration-tests,mutation-tests
(3)默認(rèn)激活
如果我們總是想執(zhí)行一個(gè)配置文件,我們可以默認(rèn)激活一個(gè):
<profile> <id>integration-tests</id> <activation> <activeByDefault>true</activeByDefault> </activation></profile>
然后,我們可以在不指定配置文件的情況下運(yùn)行mvn package,我們可以驗(yàn)證集成測(cè)試配置文件是否處于活動(dòng)狀態(tài)。
但是,如果我們運(yùn)行 Maven 命令并啟用另一個(gè)配置文件,則會(huì)跳過activeByDefault配置文件。因此,當(dāng)我們運(yùn)行mvn package -P mutation-tests時(shí),只有mutation-tests配置文件處于活動(dòng)狀態(tài)。
當(dāng)我們以其他方式激活時(shí),也會(huì)跳過activeByDefault配置文件,我們將在下一節(jié)中看到。
(4)基于屬性
我們可以在命令行上激活配置文件。但是,有時(shí)如果它們自動(dòng)激活會(huì)更方便。例如,我們可以基于-D系統(tǒng)屬性:
<profile> <id>active-on-property-environment</id> <activation> <property> <name>environment</name> </property> </activation></profile>
我們現(xiàn)在使用mvn package -Denvironment命令激活配置文件。
如果屬性不存在,也可以激活配置文件:
<property> <name>!environment</name></property>
或者,如果屬性具有特定值,我們可以激活配置文件:
<property> <name>environment</name> <value>test</value></property>
我們現(xiàn)在可以使用mvn package -Denvironment=test 運(yùn)行配置文件。
最后,如果屬性的值不是指定值,我們可以激活配置文件:
<property> <name>environment</name> <value>!test</value></property>
(5)基于JDK版本
另一種選擇是啟用基于機(jī)器上運(yùn)行的 JDK 的配置文件。在這種情況下,如果 JDK 版本以 11 開頭,我們希望啟用配置文件:
<profile> <id>active-on-jdk-11</id> <activation> <jdk>11</jdk> </activation></profile>
我們還可以使用 JDK 版本的范圍,如Maven版本范圍語法中所述。
(6)基于操作系統(tǒng)
或者,我們可以根據(jù)一些操作系統(tǒng)信息激活配置文件。
如果我們不確定,我們可以先使用mvn enforcer:display-info命令,它會(huì)在我的機(jī)器上提供以下輸出:
Maven Version: 3.5.4JDK Version: 11.0.2 normalized as: 11.0.2OS Info: Arch: amd64 Family: windows Name: windows 10 Version: 10.0
之后,我們可以配置僅在 Windows 10 上激活的配置文件:
<profile> <id>active-on-windows-10</id> <activation> <os> <name>windows 10</name> <family>Windows</family> <arch>amd64</arch> <version>10.0</version> </os> </activation></profile>
(7)基于文件
如果文件存在或丟失,另一種選擇是運(yùn)行配置文件。
因此,讓我們創(chuàng)建一個(gè)僅在testreport.html尚不存在時(shí)執(zhí)行的測(cè)試配置文件:
<activation> <file> <missing>target/testreport.html</missing> </file></activation>
我們已經(jīng)看到了許多激活配置文件的方法,但有時(shí)我們也需要禁用一種。
要禁用配置文件,我們可以使用“!” 或者 '-'。
因此,要禁用active-on-jdk-11配置文件,我們執(zhí)行mvn compile -P -active-on-jdk-11命令。
以上就是“Maven怎么配置文件”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
標(biāo)題名稱:Maven怎么配置文件
URL分享:http://vcdvsql.cn/article32/jhjipc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、網(wǎng)站策劃、定制網(wǎng)站、ChatGPT、電子商務(wù)、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)