溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么在Apache中使用Maven ToolChains

發(fā)布時(shí)間:2021-06-02 16:16:24 來源:億速云 閱讀:151 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章給大家介紹怎么在Apache中使用Maven ToolChains,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

可以在maven-compiler-plugin中配置好executable的路徑。如下所示:

<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ù)。

Toolchains的介紹

為了解決這個(gè)問題,Maven為我們推出了Toolchains。使用Toolchains,我們可以將這些可執(zhí)行文件的路徑,版本號(hào),還有類型都定義在一個(gè)toolchains.xml文件里面。

而在pom.xml文件中只需要引用toolchains.xml中定義的別名就可以了。

針對(duì)上面的windows和linux路徑不一致的問題,我們可以保證pom.xml是完全一致的,大家只需要適配自己的toolchains.xml文件即可。

Toolchains的例子

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名字和最低的版本要求。

怎么在Apache中使用Maven ToolChains

關(guān)于怎么在Apache中使用Maven ToolChains就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(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)容。

AI