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

解決maven?maven.compiler.source和maven.compiler.target的坑

 更新時間:2021年12月30日 15:26:22   作者:zhjh256  
這篇文章主要介紹了解決maven?maven.compiler.source和maven.compiler.target的坑,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

maven maven.compiler.source和maven.compiler.target的坑

最近建議產品組把jdk 1.7升級到1.8,昨晚開發(fā)報了個問題過來,說maven.compiler.source和maven.compiler.target改成1.8之后,編譯出來的代碼還是1.7,如下:

也可通過javap -v ServiceImpl.class 查看class文件的java編譯版本號。

下午抽空看了下,果不其然,第一懷疑就是maven.compiler.source和maven.compiler.target這兩參數(shù)不靠譜。

看了下,IDE配置的JDK

如下:

自動build之后,的確是jdk 1.7

如下:

換成J2SE-1.8

換成1.6

查詢maven官方文檔,可知maven.compiler.source和maven.compiler.target僅僅是推薦,不是強制。

如果要強制jdk版本

可指定executable屬性來保證,如下:

<project>
  [...]
  <build>
    [...]
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.7.0</version>
        <configuration>
          <verbose>true</verbose>
          <fork>true</fork>
          <executable><!-- path-to-javac --></executable>
          <compilerVersion>1.3</compilerVersion>
        </configuration>
      </plugin>
    </plugins>
    [...]
  </build>
  [...]
</project>

問題解決。

maven編譯報錯java: -source,pom設置maven.compiler.source原理

我們編譯的插件Maven compiler Plugin就是用來編譯代碼的,以前剛學java的時候,使用javac 命令編譯.java文件為.class文件.

而設置

   <maven.compiler.source>${java.version}</maven.compiler.source>
    <maven.compiler.target>${java.version}</maven.compiler.target>

就是指定javac-source與target選項的,官網(wǎng)

在這里插入圖片描述

有時候,maven編譯報錯java: -source 1.5 中不支持 diamond 運算符就是因為沒有指定編譯版本.指定版本即可

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

相關文章

最新評論