1. 程式人生 > >spring boot compiler 版本實踐

spring boot compiler 版本實踐

build dong hot 生成 dep tid 依賴 www. col

一. Maven用戶可以繼承spring-boot-starter-parent項目來獲取合適的默認設置。

該父項目提供以下特性:

1、默認編譯級別為Java 1.6,若要編譯更高版本,則:

<properties>

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

</properties>

或使用maven-compiler-plugin

2、源碼編碼為UTF-8

3、一個依賴管理節點,允許你省略普通依賴的 <version>標簽,繼承自 spring-boot-dependenciesPOM。

二 spring boot項目需要以下插件打包,maven-compiler-plugin無用

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

<version>1.3.0.BUILD-SNAPSHOT</version>

一般來說,spring-boot-maven-plugin 與 maven-compiler-plugin 共存控制

參考:

http://makaidong.com/exmyth/6238_7946050.html

http://www.docin.com/p-1939396109.html

三 maven-compiler-plugin source target

筆者之前,一直認為configuration的source,target中的數值是約束jdk版本的,只要本地jdk版本大於等於這個數值就行。比如,這個數值是1.6,那麽只要jdk版本大於等於1.6,就可以編譯,如果jdk版本是1.7,則是生成的是jdk1.7規範的class文件,如果jdk是1.6,則生成的是jdk1.6規範的class文件。筆者認真看了一下這個插件的文檔,發現source和target是javac 在編譯時要傳的參數。我在官方網站上找到了關於source和target的說明,source不用介紹了,我們重點看一下target的說明。

target配置多少,就用哪個jdk版本的規範文件。比如,你是java7的編譯器,如果target是1.6,則生成java1.6規範的class文件。 有了這個插件,我們在jsf 接口發布的時候,只需要在API 子項目的pm.xml中配置好1.6,就可以了,再也不用擔心因為是java1.7的編譯器而把JSF接口的jar 編譯成java1.7規範的class了。

https://blog.csdn.net/majinfei/article/details/54344968

spring boot compiler 版本實踐