問題描述java
Java的企業級項目開發中,Spring基本實現了一統天下,並且SpringBoot的出現更是將入門的難度降至接近零門檻。不少狀況下,藉助Maven神器,零基礎的同窗能夠快速的實現搭建基於SpringBoot的項目。python
在編寫pom配置文件的時候,每每都會加上java.version=1.8這樣的屬性配置,爲何要這樣作?不加會產生什麼影響。面試
問題分析spring
java.version=1.8這行配置信息的意思很是明顯,就是告訴Maven的編譯器,其java的版本爲8.可是以上只是咱們的推測,並無找到相關的依據。編程
【Maven冷知識】Compiler插件上一篇文章,已經瞭解maven的官方告訴咱們其默認的java版本爲1.6,所以提供了兩種方式來修改版本,分別是:瀏覽器
和服務器
這兩種方式均可以實現,可是能夠看出官方並無提出java.version這樣的配置信息來修改,那你們平時常常使用的java.version出自何處呢?是否是會起做用呢?機器學習
解決方案maven
在pom文件中,還有一處配置信息,引發了咱們的注意,那就是:函數
根據Maven的parent知識,瞭解到當前用戶自定義的開發項目的配置都會繼承於spring-boot-starter-parent的pom文件,所以很是有必要了解該文件,看是否可以找到線索。
打開該文件,找到了讓咱們很是驚喜的一幕:
這是2.0.5.RELEASE版本的pom文件,從上面能夠看到其定義了一個java.version的屬性,並且在下方定義了maven.compiler.source以及maven.compiler.target信息,正是使用了上一篇文章的第一種方式來定義了。至此全部的迷霧都已經揭開了,有沒有一點頓悟的感受。
結語
java.version是不少初學者在學習SpringBoot項目的時候,都會加上的一行配置信息,可是該配置並不是Maven官方的配置,通過分析發現原來是SpringBoot官方作的,其本質是爲了做用於Maven官方定義的maven.compile上的,另外因爲其默認值就是1.8,若是你的項目自己要求的就是1.8版本,所以徹底沒有必要加上這行配置。
更多精彩文章: