您好,登錄后才能下訂單哦!
這篇文章給大家介紹怎么在Apache中使用Maven ToolChains,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
<build> <plugins> <!-- target Java 14 --> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <!-- fork compilation and use the specified executable --> <fork>true</fork> <executable>/usr/bin/javac14</executable> </configuration> </plugin> </plugins> </build>
看起來還不錯(cuò),但是如果想切換executable的路徑可能就比較麻煩。更有問題的是,如果你是團(tuán)隊(duì)來發(fā),一個(gè)人在mac環(huán)境一個(gè)人在windows環(huán)境,兩邊的executable的路徑完全是不同的,這會(huì)導(dǎo)致代碼沖突,和代碼難以維護(hù)。
為了解決這個(gè)問題,Maven為我們推出了Toolchains。使用Toolchains,我們可以將這些可執(zhí)行文件的路徑,版本號(hào),還有類型都定義在一個(gè)toolchains.xml文件里面。
而在pom.xml文件中只需要引用toolchains.xml中定義的別名就可以了。
針對(duì)上面的windows和linux路徑不一致的問題,我們可以保證pom.xml是完全一致的,大家只需要適配自己的toolchains.xml文件即可。
Toolchains是和pom中其他的plugin結(jié)合起來使用的,比如最常用的maven-compiler-plugin。
下面我們舉一個(gè)例子來說明。首先定義toolchains.xml文件,這個(gè)文件最好放在${user.home}/.m2/中。
<?xml version="1.0" encoding="UTF8"?> <toolchains> <!-- JDK toolchains --> <toolchain> <type>jdk</type> <provides> <version>14</version> <vendor>oracle</vendor> </provides> <configuration> <jdkHome>/path/to/jdk/14</jdkHome> </configuration> </toolchain> <toolchain> <type>jdk</type> <provides> <version>11</version> <vendor>oracle</vendor> </provides> <configuration> <jdkHome>/path/to/jdk/11</jdkHome> </configuration> </toolchain> </toolchains>
上面的例子中,我們定義了2個(gè)JDK的toolchains。一個(gè)JDK14,一個(gè)JDK11。下面看下怎么在pom文件中使用。
<plugins> ... <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-toolchains-plugin</artifactId> <version>1.1</version> <executions> <execution> <goals> <goal>toolchain</goal> </goals> </execution> </executions> <configuration> <toolchains> <jdk> <version>14</version> <vendor>oracle</vendor> </jdk> </toolchains> </configuration> </plugin> ... </plugins>
上面的pom配置文件中,我們通過簡(jiǎn)單的引用toolchains中的定義,即可無縫的進(jìn)行JDK版本的切換。
Toolchains支持
Toolchains需要Maven 2.0.9以上版本的支持。
Toolchains是需要和pom中的plugin一起使用的,下面的圖中列出了toolchains支持的plugin名字和最低的版本要求。
關(guān)于怎么在Apache中使用Maven ToolChains就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。