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

Maven 多profile及指定編譯問題的解決

 更新時間:2021年09月22日 14:29:23   作者:hongweigg  
這篇文章主要介紹了Maven 多profile及指定編譯問題的解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Maven 多profile及指定編譯

要點

項目A依賴項目B,項目A、B都有對應(yīng)的多個profile,通過mvn –P參數(shù)指定profile,只對A生效,對B不生效

項目A、B模塊位于同一父項目,父項目構(gòu)建時指定profile,可以傳給A,B項目,A、B都使用同一指定的profile。

也可在父項目中定義屬性,激活子項目profile,意即父項目 profile屬性可傳給各個子項目。

項目中定義的profile, 若<activeProfileDefault>設(shè)置為false,則不指定profile的情況下,該profil不會被執(zhí)行。

實例

項目A 定義2個profile(aprofile、bprofile), 項目B定義2個對應(yīng)的profile(aprofile、bprofile),則可將項目A、B中的aprofile激活方式設(shè)置為:

<activeProfileDefault>true</activeProfileDefault>

bprofile profile激活方式設(shè)置為:

<activation> 
 <property>                     
  <name>bprofile</name>                
 </property>            
</activation>

編譯項目A時使用參數(shù)可編譯bprofile版本:

mvn clean install -Dbprofile

編譯項目A時不帶參數(shù)可編譯aprofile版本:

mvn clean install

Maven 指定編譯版本

javac

先從javac的編譯選項-source,-target說起:

  • -source:指定使用什么版本的JDK語法編譯源代碼。java語法總是向后兼容的,為何需要設(shè)置呢?不曉滴
  • -target:指定生成特定于某個JDK版本的class文件。高版本的class文件不被低版本支持,因此需要該項。注意,最好設(shè)置-bootclasspath指定對應(yīng)JDK版本的boot classes文件,否則即使設(shè)置了-target也不能在指定版本上運行class文件

一般情況下,-target與-source設(shè)置一致,可以不用設(shè)置-target,但最好設(shè)置它。

maven

maven中可以指定JDK編譯版本,還需要確定一下IDE中JDK的使用版本。

在最新的maven中,默認(rèn)編譯版本為1.6,所以需要自己設(shè)置為指定版本。

設(shè)置有兩種方式:

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

<plugins>
    <plugin>    
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
        </configuration>
    </plugin>
</plugins>

兩種一致,都是使用maven-compiler-plugin實現(xiàn)的,插件會在編譯時添加source,target選項。通過插件可以配置更多的選項。

在Java 9后,新增了選項release,同時指定編譯和輸出時的JDK版本。也能配置插件,但這里僅給出方便的方式:

<properties>
    <maven.compiler.release>9</maven.compiler.release>
</properties>

在spring boot中,有獨屬于它自己的配置方式,它也是通過插件實現(xiàn)的(spring boot項目默認(rèn)添加了):

<properties>
     <java.version>1.8</java.version>
</properties>   

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

相關(guān)文章

  • SpringBoot整合OpenFeign的坑

    SpringBoot整合OpenFeign的坑

    最近試用SpringBoot+K8S,遇到了個坑,通過OpenFeign請求返回值LocalDateTime發(fā)生了異常,本文就詳細的介紹一下解決方法,感興趣的可以了解一下
    2021-07-07
  • java同步器AQS架構(gòu)AbstractQueuedSynchronizer原理解析下

    java同步器AQS架構(gòu)AbstractQueuedSynchronizer原理解析下

    這篇文章主要為大家介紹了java同步器AQS架構(gòu)AbstractQueuedSynchronizer原理解析下,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2022-03-03
  • JavaMail實現(xiàn)帶附件的郵件發(fā)送

    JavaMail實現(xiàn)帶附件的郵件發(fā)送

    這篇文章主要為大家詳細介紹了JavaMail實現(xiàn)帶附件的郵件發(fā)送,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Spring Boot熱加載jar實現(xiàn)動態(tài)插件的思路

    Spring Boot熱加載jar實現(xiàn)動態(tài)插件的思路

    本文主要介紹在 Spring Boot 工程中熱加載 jar 包并注冊成為 Bean 對象的一種實現(xiàn)思路,在動態(tài)擴展功能的同時支持在插件中注入主程序的 Bean 實現(xiàn)功能更強大的插件
    2021-10-10
  • Spring實戰(zhàn)之讓Bean獲取Spring容器操作示例

    Spring實戰(zhàn)之讓Bean獲取Spring容器操作示例

    這篇文章主要介紹了Spring實戰(zhàn)之讓Bean獲取Spring容器操作,結(jié)合實例形式分析了Bean獲取Spring容器的相關(guān)原理、實現(xiàn)方法及操作注意事項,需要的朋友可以參考下
    2019-11-11
  • JavaSE中比較器、深拷貝淺拷貝舉例詳解

    JavaSE中比較器、深拷貝淺拷貝舉例詳解

    在Java中一切都可以視為對象,在Java中我們經(jīng)常使用引用去操作對象,下面這篇文章主要給大家介紹了關(guān)于JavaSE中比較器、深拷貝淺拷貝的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-07-07
  • @NotEmpty、@NotBlank、@NotNull的區(qū)別

    @NotEmpty、@NotBlank、@NotNull的區(qū)別

    這篇文章主要介紹了@NotEmpty、@NotBlank、@NotNull的區(qū)別,需要的朋友可以參考下
    2016-09-09
  • SpringBoot修改子模塊Module的jdk版本的方法 附修改原因

    SpringBoot修改子模塊Module的jdk版本的方法 附修改原因

    這篇文章主要介紹了SpringBoot修改子模塊Module的jdk版本的方法 附修改原因,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • 解決java.util.NoSuchElementException異常的問題

    解決java.util.NoSuchElementException異常的問題

    這篇文章主要介紹了解決java.util.NoSuchElementException異常的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • 淺析非對稱加密在接口參數(shù)中的實現(xiàn)

    淺析非對稱加密在接口參數(shù)中的實現(xiàn)

    接口層做數(shù)據(jù)加密應(yīng)該算是老生常談的一件事了,業(yè)界用的比較多的,不外乎是對稱加密,非對稱加密以及兩者的結(jié)合。本文就來聊聊非對稱加密在接口參數(shù)中的實現(xiàn),希望對大家有所幫助
    2023-02-02

最新評論