天河网站开发,安徽省交通运输厅章义,新媒体营销推广方案,网站公告模板代码Java 9发布至今已经有半年之久#xff0c;Spring Boot对其的支持进度也快接近完成#xff0c;本文就来整理一下在Java 9上运行Spring Boot的一些要点。
必须使用Spring Boot2.0
在Spring Boot的版本计划中明确说明了2.0版本开始才对Java 9进行支持#xff0c;而1.x版本暂时…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 groupIdjavax.xml.bind/groupId artifactIdjaxb-api/artifactId version2.3.0/version/dependency测试插件
最新的maven-surefire-plugin 插件2.20.1版本需要手工指定一个模块以防止包含java.se.ee
plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-surefire-plugin/artifactId configuration argLine--add-modules java.base/argLine /configuration/plugin或者也可以指定降级到2.20.0版本
一些暂不支持的类库
Apache Cassandra具体可见#10453JSP TLDs在嵌入式Tomcat中不生效具体可见#10456
参考资料
Running Spring Boot on Java 9