您的当前位置:首页 >系统运维 >聊聊Spring Boot 2.0与Java 9 正文

聊聊Spring Boot 2.0与Java 9

时间:2025-11-04 21:05:05 来源:网络整理编辑:系统运维

核心提示

Java 9发布至今已经有半年之久,Spring Boot对其的支持进度也快接近完成,本文就来整理一下在Java 9上运行Spring Boot的一些要点。必须使用Spring Boot2.0在Spr

 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

参考资料

Running Spring Boot on Java 9

【本文为专栏作者“翟永超”的原创稿件,转载请通过联系作者获取授权】

戳这里,看该作者更多好文