您现在的位置是:亿华云 > 系统运维

聊聊Spring Boot 2.0与Java 9

亿华云2025-10-03 02:15:13【系统运维】8人已围观

简介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

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

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

很赞哦!(7897)