欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Maven設(shè)置JDK版本的兩種方法實(shí)現(xiàn)

 更新時(shí)間:2024年07月03日 10:11:07   作者:Undefined443  
本文主要介紹了Maven設(shè)置JDK版本的兩種方法實(shí)現(xiàn),是通過Apache Maven Compiler Plugin插件實(shí)現(xiàn)的,具有一定的參考價(jià)值,感興趣的可以了解一下

Maven 設(shè)置 JDK 版本是通過 Apache Maven Compiler Plugin 插件實(shí)現(xiàn)的。它用于編譯項(xiàng)目的源代碼。

方法一

有時(shí)候你可能需要將某個(gè)項(xiàng)目編譯到與當(dāng)前使用的 JDK 版本不同的語言版本。你可以在編譯時(shí)為 javac 工具添加 -source 和 -target 選項(xiàng)來實(shí)現(xiàn)這樣的功能。也可以配置 Apache Maven Complier Plugin 插件以在編譯過程中提供這兩個(gè)選項(xiàng)。

例如,如果你想要使用 Java 8 的語言特性(-source 1.8)并且還希望編譯后的類與 JVM 1.8 兼容(-target 1.8),你可以在 pom.xml 文件中添加下面兩個(gè)屬性,這是插件參數(shù)的默認(rèn)屬性名稱:

<project>
	...
	<properties>
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>
	</properties>
	...
</project>

或者直接配置插件(效果同上):

<project>
	...
	<build>
		...
		<plugins>
			...
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.8.1</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>
			...
		</plugins>
		...
	</build>
	...
</project>

如果你沒有配置 source 和 target 屬性,默認(rèn)值是 1.8

source 選項(xiàng)指定了你的源代碼中能夠使用什么版本的語言特性,target 選項(xiàng)指定了編譯出來的 class 文件能夠在什么版本的 JVM 上運(yùn)行。一般來說這兩個(gè)值設(shè)置成一樣即可。

Setting the -source and -target of the Java Compiler | Apache Maven

方法二(推薦)

從 JDK 9 開始, javac 工具可以接受 --release 選項(xiàng),用于指定要針對(duì)哪個(gè) Java SE 版本構(gòu)建項(xiàng)目。例如,你安裝了 JDK 11 并且被 Maven 使用,但你想要針對(duì) Java 8 構(gòu)建項(xiàng)目。--release 選項(xiàng)確保代碼編譯遵循指定版本的語言規(guī)則,并且生成的類也針對(duì)該版本以及該版本的公共 API。這意味著,與 -source 和 -target 選項(xiàng)不同,編譯器將在你使用在先前 Java SE 版本中不存在的 API 時(shí)檢測(cè)并生成錯(cuò)誤。

自 Apache Maven Complier Plugin 插件的 3.6 版本起,可以通過設(shè)置 <maven.compiler.release> 屬性提供此選項(xiàng):

<project>
	...
	<properties>
		<maven.compiler.release>8</maven.compiler.release>
	</properties>
	...
</project>

或者直接配置插件(效果同上):

<project>
	...
	<build>
		...
		<plugins>
			...
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.12.1</version>
				<configuration>
					<release>8</release>
				</configuration>
			</plugin>
			...
		</plugins>
		...
	</build>
	...
</project>

Setting the --release of the Java Compiler | Apache Maven

到此這篇關(guān)于Maven設(shè)置JDK版本的兩種方法實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Maven設(shè)置JDK版本內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Mybatis控制臺(tái)打印Sql語句的實(shí)現(xiàn)代碼

    Mybatis控制臺(tái)打印Sql語句的實(shí)現(xiàn)代碼

    MyBatis是一個(gè)支持普通SQL查詢,存儲(chǔ)過程和高級(jí)映射的優(yōu)秀持久層框架,下面給大家介紹Mybatis控制臺(tái)打印Sql語句的實(shí)現(xiàn)代碼,非常不錯(cuò),感興趣的朋友一起看下吧
    2016-07-07
  • Java中如何執(zhí)行多條shell/bat命令

    Java中如何執(zhí)行多條shell/bat命令

    這篇文章主要介紹了Java中如何執(zhí)行多條shell/bat命令的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Netty分布式固定長(zhǎng)度解碼器實(shí)現(xiàn)原理剖析

    Netty分布式固定長(zhǎng)度解碼器實(shí)現(xiàn)原理剖析

    這篇文章主要為大家介紹了Netty分布式固定長(zhǎng)度解碼器原理剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03
  • 詳解Java的JDBC API的存儲(chǔ)過程與SQL轉(zhuǎn)義語法的使用

    詳解Java的JDBC API的存儲(chǔ)過程與SQL轉(zhuǎn)義語法的使用

    這篇文章主要介紹了詳解Java的JDBC API的存儲(chǔ)過程與SQL轉(zhuǎn)義語法的使用,JDBC是Java用于連接使用各種數(shù)據(jù)庫(kù)的API,需要的朋友可以參考下
    2015-12-12
  • java web實(shí)現(xiàn)簡(jiǎn)易收費(fèi)站

    java web實(shí)現(xiàn)簡(jiǎn)易收費(fèi)站

    這篇文章主要為大家詳細(xì)介紹了java web實(shí)現(xiàn)簡(jiǎn)易收費(fèi)站,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一
    2020-11-11
  • java高并發(fā)ScheduledThreadPoolExecutor與Timer區(qū)別

    java高并發(fā)ScheduledThreadPoolExecutor與Timer區(qū)別

    這篇文章主要為大家介紹了java高并發(fā)ScheduledThreadPoolExecutor與Timer區(qū)別,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • SpringBoot?實(shí)現(xiàn)動(dòng)態(tài)添加定時(shí)任務(wù)功能

    SpringBoot?實(shí)現(xiàn)動(dòng)態(tài)添加定時(shí)任務(wù)功能

    這篇文章主要介紹了SpringBoot?動(dòng)態(tài)添加定時(shí)任務(wù),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • 淺析java 的 static 關(guān)鍵字用法

    淺析java 的 static 關(guān)鍵字用法

    這篇文章主要介紹了淺析java 的 static 關(guān)鍵字用法的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06
  • Gateway網(wǎng)關(guān)源碼解析

    Gateway網(wǎng)關(guān)源碼解析

    這篇文章主要介紹了Gateway微服務(wù)網(wǎng)關(guān),負(fù)載均衡,熔斷和限流,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • mybatis抽取基類BaseMapper增刪改查的實(shí)現(xiàn)

    mybatis抽取基類BaseMapper增刪改查的實(shí)現(xiàn)

    目前項(xiàng)目當(dāng)中使用mapper.xml文件方式對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,但是每個(gè)里邊都有增/刪/改/查,為了方便開發(fā),把這些公共的代碼提取出來,不用當(dāng)做基類,不用每個(gè)Mapper文件都寫了,本文就詳細(xì)的介紹一下實(shí)現(xiàn)方法
    2021-09-09

最新評(píng)論