Spring Boot 2.0与Java 9
程序猿DD 系列文章目录
号外: 最近整理了之前编写的一系列内容做成了PDF,关注我的公众号”程序猿DD”来领取吧!
Java 9发布至今已经有半年之久,Spring Boot对其的支持进度也快接近完成,本文就来整理一下在Java 9上运行Spring Boot的一些要点。
必须使用Spring Boot2.0
在Spring Boot的版本计划中明确说明了2.0版本开始才对Java 9进行支持,而1.x版本暂时没有对Java 9的支持计划,所以如果我们要使用Java 9,就必须将Spring Boot版本升级至2.0。
细节注意点
AspectJ
在Java9中要使用JDK的编译织入切面时,我们需要引入AspectJ 1.9,但是这个版本还处于RC状态,并不是正式版本,所以当Spring Boot 2会在Aspect 1.9 GA的时候更新这个版本依赖。
JAXB
如果使用Hibernate的情况下,由于依赖JAXB,这个时候可能会碰到这个错误:java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
,面对这个问题,只需要引入如下依赖就可以解决:
<dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.3.0</version> </dependency>
测试插件
最新的maven-surefire-plugin
插件(2.20.1版本)需要手工指定一个模块以防止包含java.se.ee
:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <argLine>--add-modules java.base</argLine> </configuration> </plugin>
或者也可以指定降级到2.20.0版本
一些暂不支持的类库
- Apache Cassandra,具体可见:#10453
- JSP TLDs在嵌入式Tomcat中不生效,具体可见:#10456
参考资料
本文由
程序猿DD-翟永超 创作,采用
CC BY 3.0 CN协议 进行许可。 可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
原文地址:http://blog.didispace.com/Spring-Boot-2.0%E4%B8%8EJava-9/
相关推荐
-
惊呆了,Servlet Filter和Spring MVC Interceptor的实现居然这么简单 Java框架
2020-6-11
-
SpringBoot 应用监控 Java框架
2018-12-8
-
spring-boot + rabbitmq消息手动确认模式的几点说明(重试机制) Java框架
2020-6-1
-
Spring MVC之RequestMappingHandlerMapping匹配 Java框架
2020-6-1
-
JFinal整合Spring开发 Java框架
2020-7-4
-
如何提升springboot服务吞吐量 Java框架
2020-6-1
-
微服务框架-Spring Cloud Java框架
2020-6-11
-
(2) 基于领域分析设计的架构规范-领域分析基础 Java框架
2020-6-1
-
JavaWeb:servlet实现下载与上传功能 Java框架
2019-6-30
-
【Spring Boot 系列 定制与优化内置的Tomcat容器】 Java框架
2020-6-1