国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

maven在settings.xm和pom.xml中指定jdk版本編譯

這篇具有很好參考價值的文章主要介紹了maven在settings.xm和pom.xml中指定jdk版本編譯。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

maven的settings.xm和pom.xml都可以通過 maven.compiler.source , maven.compiler.target 這兩個屬性值來指定jdk版本

  • maven.compiler.source

  • maven.compiler.target

maven.compiler.source
maven.compiler.target

在pom.xml中的位置

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

在settings.xml中的位置

<settings>
    <profiles>
        <profile>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <maven.compiler.source>21</maven.compiler.source>
                <maven.compiler.target>21</maven.compiler.target>  <!-- JRE System Liblary 的版本和這句相同  -->
            </properties>
        </profile>
    </profiles>
</settings>

在spring項目中, 用java.version來統(tǒng)一設置


maven的settings.xm和pom.xml也可以通過設定 maven-compiler-plugin 這個插件來指定jdk版本

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.9.6</version>
    <configuration>
        <source>21</source>
        <target>21</target>
    </configuration>
</plugin>

在pom.xml中的位置

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

在settings.xml中的位置 , 好像用不了

<settings>
  ...
  <profiles>
    <profile>
      <id>profile-maven-compiler-plugin</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.9.6</version>
            <configuration>
              <source>17</source>
              <target>17</target>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
  ...
</settings>

Maven 在 settings.xml 中指定jdk版本

settings.xml 中的屬性寫在 setting??profiles??profile??properties中,位于第5層

方法一, 直接寫死, 例如指定jdk21
<settings>
    <profiles>
        <profile>
            <id>jdk-version-21</id>
            <!-- id和activation都可以用于激活該profile, 定義id可以在activeProfiles的activeProfile里設置該id從而激活該id代表的profile, id和activation可以只保留一個,也可兩個都使用.  -->
            <activation>
                <activeByDefault>true</activeByDefault> <!-- 該profile是否默認激活, 不激活的話, 下面的properties是否默認生效, 這里設為true就能激活該profile從而使屬性生效. 下方又用<activeProfile>jdk-version-21</activeProfile>再次確保該profile激活 -->
            </activation>
            <!--要使properties起作用, properties所屬的profile必須在激活狀態(tài)  -->
            <properties>
                <maven.compiler.source>21</maven.compiler.source>
                <maven.compiler.target>21</maven.compiler.target>  <!-- JRE System Liblary 的版本和這句相同  -->
            </properties>
        </profile>
    </profiles>
    <!--  activeProfiles里的activeProfile對應profiles里的profile的id; 是激活profile的方式之一; 在activeProfiles中激活的profile可以不要activation標簽了-->
    <!--  activeProfiles與profiles同級是第二級, profile是第三級, settings → activeProfiles → activeProfile  ,  activeProfile可以有多個-->
    <activeProfiles>
        <!-- 要激活的profile的id , 在這里激活了的profile里的activation就無效了,可以去掉,當然也可以保留-->
        <activeProfile>jdk-version-21</activeProfile>  <!-- 要激活的profile的id . 這里和上面該id的profile中的 <activeByDefault>true</activeByDefault> 任一個都能激活該id代表的profile, 兩處設置確保啟用該profile-->
    </activeProfiles>
</settings>

去掉注釋


    <profiles>
        <profile>
            <id>jdk-version-21</id>
            <activation>
                <activeByDefault>true</activeByDefault> <!-- 該profile是否默認激活, 不激活的話, 下面的properties是否默認生效, 這里設為true就能激活該profile從而使屬性生效. 下方又用<activeProfile>jdk-version-21</activeProfile>再次確保該profile激活 -->
            </activation>
            <properties>
                <maven.compiler.source>21</maven.compiler.source>
                <maven.compiler.target>21</maven.compiler.target>  <!-- JRE System Liblary 的版本和這句相同  -->
            </properties>
        </profile>
    </profiles>
    <activeProfiles>
        <activeProfile>jdk-version-21</activeProfile>  <!-- 要激活的profile的id . 這里和上面該id的profile中的 <activeByDefault>true</activeByDefault> 任一個都能激活該id代表的profile, 兩處設置確保啟用該profile-->
    </activeProfiles>

只用 <activeByDefault>true</activeByDefault> 激活, 可以不要 <id>jdk-version-21</id><activeProfile>jdk-version-21</activeProfile>

    <profiles>
        <profile>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <maven.compiler.source>21</maven.compiler.source>
                <maven.compiler.target>21</maven.compiler.target>  <!-- JRE System Liblary 的版本和這句相同  -->
            </properties>
        </profile>
    </profiles>

只用 <activeProfile>jdk-version-21</activeProfile> 激活 , 則可以不要

    <profiles>
        <profile>
            <id>jdk-version-21</id>
            <properties>
                <maven.compiler.source>21</maven.compiler.source>
                <maven.compiler.target>21</maven.compiler.target>  <!-- JRE System Liblary 的版本和這句相同  -->
            </properties>
        </profile>
    </profiles>
    <activeProfiles>
        <activeProfile>jdk-version-21</activeProfile>
    </activeProfiles>
引用屬性變量,只在一個地方修設值jdk版本
<settings>
    <profiles>
        <profile>
            <id>set-jdk-version</id>
            <!-- id和activation都可以用于激活該profile, 定義id可以在activeProfiles的activeProfile里設置該id從而激活該id代表的profile, id和activation可以只保留一個,也可兩個都使用.  -->
            <activation>
                <activeByDefault>true</activeByDefault> <!-- 該profile是否默認激活, 不激活的話, 下面的properties是否默認生效, 這里設為true就能激活該profile從而使屬性生效. 下方又用<activeProfile>jdk-version-21</activeProfile>再次確保該profile激活 -->
            </activation>
            <!--要使properties起作用, properties所屬的profile必須在激活狀態(tài)  -->
            <properties>
                <jdk-version>21</jdk-version> <!--自定義一個屬性用來設置版本,之后可以用${該屬性名引用},就不用多處修改了-->
                <maven.compiler.source>${jdk-version}</maven.compiler.source>
                <maven.compiler.target>${jdk-version}</maven.compiler.target>  <!-- JRE System Library 的版本和這句相同  -->
            </properties>
        </profile>
    </profiles>
    <!--  activeProfiles里的activeProfile對應profiles里的profile的id; 是激活profile的方式之一; 在activeProfiles中激活的profile可以不要activation標簽了-->
    <!--  activeProfiles與profiles同級是第二級, profile是第三級, settings → activeProfiles → activeProfile  ,  activeProfile可以有多個-->
    <activeProfiles>
        <!-- 要激活的profile的id , 在這里激活了的profile里的activation就無效了,可以去掉,當然也可以保留-->
        <activeProfile>set-jdk-version</activeProfile>  <!-- 要激活的profile的id . 這里和上面該id的profile中的 <activeByDefault>true</activeByDefault> 任一個都能激活該id代表的profile, 兩處設置確保啟用該profile-->
    </activeProfiles>
</settings>

一處設置,雙重激活

    <profiles>
        <profile>
            <id>set-JdkVersion</id>
            <activation>
                <activeByDefault>true</activeByDefault> <!-- 該profile是否默認激活, 不激活的話, 下面的properties是否默認生效, 這里設為true就能激活該profile從而使屬性生效. 下方又用<activeProfile>JdkVersion-21</activeProfile>再次確保該profile激活 -->
            </activation>
            <properties>
                <JdkVersion>21</JdkVersion> <!--自定義一個屬性用來設置版本,之后可以用${該屬性名引用},就不用多處修改了-->
                <maven.compiler.source>${JdkVersion}</maven.compiler.source>
                <maven.compiler.target>${JdkVersion}</maven.compiler.target>  <!-- JRE System Library 的版本和這句相同  -->
            </properties>
        </profile>
    </profiles>
    <activeProfiles>
        <activeProfile>set-JdkVersion</activeProfile>  <!-- 要激活的profile的id . 這里和上面該id的profile中的 <activeByDefault>true</activeByDefault> 任一個都能激活該id代表的profile, 兩處設置確保啟用該profile-->
    </activeProfiles>

Maven 在 pom.xml 中指定jdk版本

在pom.xml中可以用設置屬性或者設置插件兩種方法來設置jdk版本

  • 用設置屬性的方式
<project>
  <properties>
    <maven.compiler.source>21</maven.compiler.source>
    <maven.compiler.target>21</maven.compiler.target>
  </properties>
</project>
    <maven.compiler.source>21</maven.compiler.source>
    <maven.compiler.target>21</maven.compiler.target>
  • 用設置插件的方式 , 設置插件的方式優(yōu)先級高于設置屬性
<project>
  ...
  <build>
    ...
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <!-- <version>3.9.6</version> --> <!-- 可以不要version -->
        <configuration>
          <source>21</source>
          <target>21</target>
        </configuration>
      </plugin>
    </plugins>
    ...
  </build>
  ...
</project>
  • 用設置插件的方式 , 設置插件的方式優(yōu)先級高于設置屬性
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <!-- <version>3.9.6</version> --> <!-- 可以不要version -->
        <configuration>
          <source>21</source>
          <target>21</target>
        </configuration>
      </plugin>
    </plugins>

兩種方法都用上, , 插件的優(yōu)先級高于屬性文章來源地址http://www.zghlxwxcb.cn/news/detail-836525.html

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <JdkVersionOfThisPom>17</JdkVersionOfThisPom>
    <java.version>${JdkVersionOfThisPom}</java.version>
    <maven.compiler.source>${JdkVersionOfThisPom}</maven.compiler.source>
    <maven.compiler.target>${JdkVersionOfThisPom}</maven.compiler.target>
    <maven.compiler.compilerVersion>${JdkVersionOfThisPom}</maven.compiler.compilerVersion>
  </properties>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
<!--        <version>3.9.6</version>-->
        <configuration>
          <source>${JdkVersionOfThisPom}</source>
          <target>${JdkVersionOfThisPom}</target>
          <compilerVersion>${JdkVersionOfThisPom}</compilerVersion>
        </configuration>
      </plugin>
    </plugins>
  </build>

到了這里,關于maven在settings.xm和pom.xml中指定jdk版本編譯的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • IDEA創(chuàng)建spring boot項目無法加載出maven里的pom.xml,而是settings.gradle

    IDEA創(chuàng)建spring boot項目無法加載出maven里的pom.xml,而是settings.gradle

    在創(chuàng)建的maven項目里找不到pom.xml文件而是settings.gradle,如下圖所示: 原因和解決方法: 是因為在創(chuàng)建Springboot項目的時候type里選的是Gradle,gradle和maven又不一樣,換成maven就行了,具體操作如下圖所示: 在用idea創(chuàng)建maven項目時,在Project Metadata界面Type選項下唯有Maven和Maven PO

    2024年02月09日
    瀏覽(85)
  • jdk8 maven 3.6.3 settings.xml

    localRepositoryC:Usersziyou.m2repository/localRepository mirror ?? ??? ?idhuaweicloud/id ?? ??? ?mirrorOf*/mirrorOf ?? ??? ?name華為云公共倉庫/name ?? ??? ?urlhttps://mirrors.huaweicloud.com/repository/maven//url ?? ?/mirror profile ? ? ? idjdk-1.8/id ? ? ? activation ?? ? ? ?activeByDefaulttrue/activeByDefaul

    2024年02月12日
    瀏覽(22)
  • 【java】maven 指定項目編譯與打包的JDK版本

    Maven 是一個流行的構建工具,用于管理 Java 項目的依賴項、構建和部署。在 Maven 中,可以指定項目的編譯和打包所使用的 JDK 版本。本篇博客將介紹如何在 Maven 中指定項目的 JDK 版本,并討論該選項對項目的影響。 在 Maven 中,可以通過在 pom.xml 文件中設置 maven.compiler.source

    2024年02月16日
    瀏覽(26)
  • mvn 命令指定jdk版本

    mvn 命令指定jdk版本

    ????????想在自己的項目中搞一個gitlab-ci,從代碼規(guī)范檢測到單測。gitlab-ci都配置好了,使用鏡像來啟動。用的網(wǎng)上找的mvn soner命令,執(zhí)行到最后總是報錯,查詢了錯誤是Jdk版本過低。因為公司項目用的是Jdk8,但是mvn soner自動推送到soner的功能需要Jdk11支持。就很難受了。

    2024年02月12日
    瀏覽(21)
  • 【Maven】Maven 中 pom.xml 文件

    Maven 是一個項目管理工具,可以對 Java 項目進行構建和管理依賴。 本文,我們認識下 pom.xml 文件。POM(Project Object Model, 項目對象模型) 是 Maven 工程的基本工作單位,也是 Maven 的核心。其包含項目的基本信息,用于描述項目如何構建、聲明項目依賴等。 POM 是 Project Object Mod

    2024年02月15日
    瀏覽(24)
  • Maven 超級pom、最終有效pom、pom 詳解、settings 詳解

    在項目的 pom.xml 中不進行任何配置,仍然不影響 Maven 構建的運行,是因為所有的 pom 文件都會繼承一個默認的配置,這個配置稱為 超級pom ,在自己項目中的配置會覆蓋 超級pom 中的配置,未被覆蓋的就會繼續(xù)使用 超級pom 中的配置 超級pom 定義在 maven-model-builder.jar 中,如果想

    2024年02月09日
    瀏覽(17)
  • Maven--pom.xml文件詳解

    1.pom簡介 pom指的是project object model,又叫項目對象模型。Maven的pom文件是一個XML文件,用于描述項目的各種屬性、依賴和構建信息,包括項目的名稱、版本、許可證、作者、描述、依賴關系、構建過程、插件等。總的來說,POM文件是Maven工程的基本工作單元,它包含了項目的所

    2024年01月19日
    瀏覽(24)
  • Maven 的 pom.xml 樣例

    ?pom.xml 模板樣例: 倉庫優(yōu)化:

    2024年02月13日
    瀏覽(25)
  • maven的pom.xml文件詳解

    2024年02月12日
    瀏覽(29)
  • maven之pom.xml配置文件詳解

    maven之pom.xml配置文件詳解

    pom代表項目對象模型,它是Maven中工作的基本組成單位。它是一個XML文件,在項目的根目錄中。pom包含的對象是使用maven來構建的,pom.xml文件包含了項目的各種配置信息。 創(chuàng)建一個POM之前,應該要先決定項目組(groupId),項目名(artifactId)和版本(version),因為這些屬性在項目倉

    2023年04月09日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包