最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

maven打包如何指定jdk的版本

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

maven打包指定jdk的版本

問題

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

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

在這里插入圖片描述

可以看出大概意思就是,1.5的jdk不支持lambda表達(dá)式(lambda表達(dá)式確實(shí)是1.8的新特性),后來查看了下,本地idea中習(xí)慣的把項(xiàng)目中jdk的環(huán)境和語言環(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)化部署寫的配置,只是引了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)境上去的場景,且這些環(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)文章

  • Mybatis 中的sql批量修改方法實(shí)現(xiàn)

    Mybatis 中的sql批量修改方法實(shí)現(xiàn)

    在項(xiàng)目中遇到需要批量更新的功能,原本想的是在Java中用循環(huán)訪問數(shù)據(jù)庫去更新,但是心里總覺得這樣做會(huì)不會(huì)太頻繁了,太耗費(fèi)資源了,效率也很低,查了下mybatis的批量操作,原來確實(shí)有<foreach>標(biāo)簽可以做到,下面通過本文給大家介紹下
    2017-01-01
  • SpringSecurity授權(quán)機(jī)制的實(shí)現(xiàn)(AccessDecisionManager與投票決策)

    SpringSecurity授權(quán)機(jī)制的實(shí)現(xiàn)(AccessDecisionManager與投票決策)

    本文主要介紹了SpringSecurity授權(quán)機(jī)制的實(shí)現(xiàn),其核心是AccessDecisionManager和投票系統(tǒng),下面就來介紹一下,感興趣的可以了解一下
    2025-04-04
  • mybatis使用pagehelper插件過程詳解

    mybatis使用pagehelper插件過程詳解

    這篇文章主要介紹了mybatis使用pagehelper插件過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • 使用Java提取字符串里的xml標(biāo)簽

    使用Java提取字符串里的xml標(biāo)簽

    在Java中,我們經(jīng)常需要處理XML數(shù)據(jù),有時(shí)候,我們需要從一個(gè)包含XML標(biāo)簽的字符串中提取出這些標(biāo)簽,本文將介紹如何使用Java代碼來獲取字符串中的XML標(biāo)簽,需要的可以參考下
    2024-12-12
  • Java實(shí)現(xiàn)AWT四大事件的詳細(xì)過程

    Java實(shí)現(xiàn)AWT四大事件的詳細(xì)過程

    AWT的事件處理是一種委派式事件處理方式:普通組件(事件源)將整個(gè)事件處理委托給特定的對(duì)象(事件監(jiān)聽器);當(dāng)該事件源發(fā)生指定的事件時(shí),就通知所委托的事件監(jiān)聽器,由事件監(jiān)聽器來處理這個(gè)事件
    2022-04-04
  • java中如何反射獲取一個(gè)類

    java中如何反射獲取一個(gè)類

    大家說說對(duì)java反射的理解,使用反射如何獲取一個(gè)類,下面小編給大家整理一些資料,關(guān)于java中如何反射獲取一個(gè)類,有需要的朋友可以參考下
    2015-08-08
  • 詳解Java中synchronized關(guān)鍵字的死鎖和內(nèi)存占用問題

    詳解Java中synchronized關(guān)鍵字的死鎖和內(nèi)存占用問題

    Java的synchronized關(guān)鍵字用來進(jìn)行線程同步操作,然而這在使用中經(jīng)常會(huì)遇到一些問題,這里我們就來詳解Java中synchronized關(guān)鍵字的死鎖和內(nèi)存占用問題:
    2016-06-06
  • servlet實(shí)現(xiàn)文件上傳與下載功能

    servlet實(shí)現(xiàn)文件上傳與下載功能

    這篇文章主要為大家詳細(xì)介紹了servlet實(shí)現(xiàn)文件上傳與下載功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • Java中Struts2的值棧ValueStack詳解

    Java中Struts2的值棧ValueStack詳解

    這篇文章主要介紹了Java中Struts2的值棧ValueStack詳解,值棧(ValueStack)就是 OGNL 表達(dá)式存取數(shù)據(jù)的地方,在一個(gè)值棧中,封裝了一次請(qǐng)求所需要的所有數(shù)據(jù),需要的朋友可以參考下
    2023-08-08
  • Java List 用法詳解及實(shí)例分析

    Java List 用法詳解及實(shí)例分析

    這篇文章主要介紹了Java List 用法詳解及實(shí)例分析的相關(guān)資料,需要的朋友可以參考下
    2017-07-07

最新評(píng)論

根河市| 五常市| 通化市| 平武县| 汽车| 措美县| 南岸区| 柳林县| 乐平市| 凭祥市| 长顺县| 元谋县| 永清县| 宁河县| 邢台市| 高阳县| 尉犁县| 彰武县| 沿河| 石景山区| 安康市| 彰武县| 隆德县| 彭州市| 翁源县| 宁安市| 微博| 天水市| 九台市| 兴隆县| 永济市| 依兰县| 玛多县| 龙山县| 霍州市| 桃江县| 蚌埠市| 衢州市| 庆城县| 卓资县| 安岳县|