spring boot compiler 版本实践

 

一. 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

posted on 2018-07-15 21:46  silyvin  阅读(560)  评论(0编辑  收藏  举报