亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

maven打包如何指定jdk的版本

 更新時(shí)間:2023年04月08日 13:45:35   作者:我不想名字重復(fù)  
這篇文章主要介紹了maven打包如何指定jdk的版本問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

maven打包指定jdk的版本

問(wèn)題

今天遇到個(gè)問(wèn)題,項(xiàng)目中新寫(xiě)了一個(gè)接口,其中用到了lambda表達(dá)式,本地跑是沒(méi)問(wèn)題的,但提交到gitLab上,自動(dòng)打包部署時(shí)卻報(bào)錯(cuò)了(這是其他同事配置的)

報(bào)錯(cuò)信息如下:

在這里插入圖片描述

可以看出大概意思就是,1.5的jdk不支持lambda表達(dá)式(lambda表達(dá)式確實(shí)是1.8的新特性),后來(lái)查看了下,本地idea中習(xí)慣的把項(xiàng)目中jdk的環(huán)境和語(yǔ)言環(huán)境都設(shè)置的1.8版本,雖然打包時(shí)引的也是jdk8的包,但maven估計(jì)默認(rèn)還是用的1.5的去打包的(估計(jì)是當(dāng)時(shí)這個(gè)項(xiàng)目建立時(shí)使用的1.5的jdk),所以需要在手動(dòng)設(shè)置下maven打包的jdk版本

這是同事自動(dòng)化部署寫(xiě)的配置,只是引了jdk1.8的包

在這里插入圖片描述

百度了一下,還是需要在pom中加配置

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

maven打包不同jdk版本的包

對(duì)于MAVEN項(xiàng)目,我們存在將一個(gè)工程同樣的代碼部署到不同的環(huán)境上去的場(chǎng)景,且這些環(huán)境的jdk版本可能會(huì)不同,那么如何一份代碼打不同的jdk版本的包呢?

基于maven我們就可以很方便的做到這點(diǎn)。

1. 在項(xiàng)目的pom文件中加入如下配置(主要配置)

<build>
? ? ? ? <plugins>
? ? ? ? ? ? <plugin>
? ? ? ? ? ? ? ? <groupId>org.apache.maven.plugins</groupId>
? ? ? ? ? ? ? ? <artifactId>maven-compiler-plugin</artifactId>
? ? ? ? ? ? ? ? <version>3.8.0</version>
? ? ? ? ? ? ? ? <configuration>
? ? ? ? ? ? ? ? ? ? <source>${java.version}</source>
? ? ? ? ? ? ? ? ? ? <target>${java.version}</target>
? ? ? ? ? ? ? ? </configuration>
? ? ? ? ? ? </plugin>
? ? ? ? ? ? <plugin>
? ? ? ? ? ? ? ? <groupId>org.apache.maven.plugins</groupId>
? ? ? ? ? ? ? ? <artifactId>maven-jar-plugin</artifactId>
? ? ? ? ? ? ? ? <version>3.1.0</version>
? ? ? ? ? ? ? ? <configuration>
? ? ? ? ? ? ? ? ? ? <archive>
? ? ? ? ? ? ? ? ? ? ? ? <manifest>
? ? ? ? ? ? ? ? ? ? ? ? ? ? <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
? ? ? ? ? ? ? ? ? ? ? ? </manifest>
? ? ? ? ? ? ? ? ? ? </archive>
? ? ? ? ? ? ? ? </configuration>
? ? ? ? ? ? </plugin>
? ? ? ? </plugins> ? ?
? ? </build>
? ? <profiles>
? ? ? ? <profile>
? ? ? ? ? ? <id>default</id>
? ? ? ? ? ? <activation>
? ? ? ? ? ? ? ? <activeByDefault>true</activeByDefault> ? ? <!--默認(rèn)激活該profile-->
? ? ? ? ? ? </activation>
? ? ? ? ? ? <properties>
? ? ? ? ? ? ? ? <java.version>1.8</java.version> ? ? ? ? ? ?<默認(rèn)用1.8版本>
? ? ? ? ? ? </properties>
? ? ? ? </profile>
? ? ? ? <profile>
? ? ? ? ? ? <id>jdk17</id>
? ? ? ? ? ? <properties>
? ? ? ? ? ? ? ? <java.version>1.7</java.version> ? ? ? ? ? ?<該配置用1.7版本>
? ? ? ? ? ? </properties>
? ? ? ? ? ? <build>
? ? ? ? ? ? ? ? <plugins>
? ? ? ? ? ? ? ? ? ? <plugin>
? ? ? ? ? ? ? ? ? ? ? ? <artifactId>maven-jar-plugin</artifactId>
? ? ? ? ? ? ? ? ? ? ? ? <executions>
? ? ? ? ? ? ? ? ? ? ? ? ? ? <execution>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <phase>package</phase>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <goals>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <goal>jar</goal>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </goals>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <configuration>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <classifier>jdk17</classifier>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </configuration>
? ? ? ? ? ? ? ? ? ? ? ? ? ? </execution>
? ? ? ? ? ? ? ? ? ? ? ? </executions>
? ? ? ? ? ? ? ? ? ? </plugin>
? ? ? ? ? ? ? ? </plugins>
? ? ? ? ? ? </build>
? ? ? ? </profile>
? ? </profiles>

2. 用mvn命令構(gòu)建項(xiàng)目

mvn -P jdk17 clean?
mvn -P jdk17 install  #安裝的時(shí)候會(huì)出現(xiàn)2個(gè)包,1.8版本的與1.7版本的都生成了,如:blog-1.0.2.jar、blog-1.0.2-jdk17.jar

如果需要發(fā)布項(xiàng)目到服務(wù)器

mvn -P jdk17 -P <depoly配置ID> depoly

3. 項(xiàng)目中引用

<!-- 引用1.8編譯版本 -->
<dependency>
? <groupId>org.test</groupId>
? <artifactId>blog</artifactId>
? <version>0.1</version>
</dependency>
?
<!-- 引用1.7編譯版本 -->
<dependency>
? <groupId>org.test</groupId>
? <artifactId>blog</artifactId>
? <version>0.1</version>
? <classifier>jdk17</classifier>
</dependency>

總結(jié)

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

相關(guān)文章

  • Java兩種動(dòng)態(tài)代理JDK動(dòng)態(tài)代理和CGLIB動(dòng)態(tài)代理詳解

    Java兩種動(dòng)態(tài)代理JDK動(dòng)態(tài)代理和CGLIB動(dòng)態(tài)代理詳解

    這篇文章主要介紹了Java兩種動(dòng)態(tài)代理JDK動(dòng)態(tài)代理和CGLIB動(dòng)態(tài)代理詳解,代理模式是23種設(shè)計(jì)模式的一種,他是指一個(gè)對(duì)象A通過(guò)持有另一個(gè)對(duì)象B,可以具有B同樣的行為的模式,為了對(duì)外開(kāi)放協(xié)議,B往往實(shí)現(xiàn)了一個(gè)接口,A也會(huì)去實(shí)現(xiàn)接口,需要的朋友可以參考下
    2023-11-11
  • 一篇文章帶你搞定JAVA泛型

    一篇文章帶你搞定JAVA泛型

    泛型是Java中的高級(jí)概念,也是構(gòu)建框架必備技能,比如各種集合類都是泛型實(shí)現(xiàn)的,今天詳細(xì)聊聊Java中的泛型概念,希望有所收獲
    2021-07-07
  • 如何將Set直接轉(zhuǎn)成數(shù)組

    如何將Set直接轉(zhuǎn)成數(shù)組

    這篇文章主要介紹了如何將Set直接轉(zhuǎn)成數(shù)組,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Mybatis-Spring連接mysql 8.0配置步驟出錯(cuò)的解決方法

    Mybatis-Spring連接mysql 8.0配置步驟出錯(cuò)的解決方法

    這篇文章主要為大家詳細(xì)介紹了Mybatis-Spring連接mysql 8.0配置步驟出錯(cuò)的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • Java 八種基本類型和基本類型封裝類

    Java 八種基本類型和基本類型封裝類

    八種基本數(shù)據(jù)類型分別是:int、short、float、double、long、boolean、byte、char;下面跟隨腳本之家小編一起學(xué)習(xí)java八種基本類型和基本類型封裝類
    2017-09-09
  • SpringCloud中的Ribbon負(fù)載均衡器詳細(xì)解析

    SpringCloud中的Ribbon負(fù)載均衡器詳細(xì)解析

    這篇文章主要介紹了SpringCloud中的Ribbon負(fù)載均衡器詳細(xì)解析,Ribbon 是一個(gè)基于 HTTP 和 TCP 的客戶端負(fù)載均衡工具,它基于 Netflix Ribbon 實(shí)現(xiàn),通過(guò)封裝可以讓我們輕松地將面向服務(wù)的 REST 模版請(qǐng)求自動(dòng)轉(zhuǎn)換成客戶端負(fù)載均衡的服務(wù)調(diào)用,需要的朋友可以參考下
    2024-01-01
  • Java中字節(jié)流和字符流的理解(超精簡(jiǎn)!)

    Java中字節(jié)流和字符流的理解(超精簡(jiǎn)!)

    Java通過(guò)稱為流的抽象來(lái)執(zhí)行I/O操作,下面這篇文章主要給大家介紹了關(guān)于Java中字節(jié)流和字符流理解,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • java實(shí)現(xiàn)小型局域網(wǎng)群聊功能(C/S模式)

    java實(shí)現(xiàn)小型局域網(wǎng)群聊功能(C/S模式)

    這篇文章主要介紹了java利用TCP協(xié)議實(shí)現(xiàn)小型局域網(wǎng)群聊功能(C/S模式) ,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • 解決import包時(shí)報(bào) Java 程序包不存在的問(wèn)題

    解決import包時(shí)報(bào) Java 程序包不存在的問(wèn)題

    你是否也有過(guò)在import包時(shí)idea報(bào)錯(cuò)說(shuō)這個(gè)包不存在,可是這個(gè)包我們看得到確實(shí)存在的情況,不要慌,今天這篇文章帶你徹底告別這個(gè)問(wèn)題
    2021-10-10
  • 解析Java 泛型什么情況下不能使用

    解析Java 泛型什么情況下不能使用

    這篇文章主要介紹了解析Java 泛型什么情況下不能使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05

最新評(píng)論