Spring Boot 2.0与Java 9
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
Spring Boot 2.0与Java 9相关推荐
- 【译】Spring Boot 2.0 官方迁移指南
前提 希望本文档将帮助您把应用程序迁移到 Spring Boot 2.0. 在你开始之前 首先,Spring Boot 2.0 需要 Java 8 或更高版本.不再支持 Java 6 和 7 了. 在 ...
- Spring Boot 2.0 新特性
作者:贺卓凡 原文:https://mp.weixin.qq.com/s/EWmuzsgHueHcSB0WH-3AQw 以Java 8 为基准 Spring Boot 2.0 要求Java 版本必须8 ...
- Spring Boot 2.0 新特性和发展方向
以Java 8 为基准 Spring Boot 2.0 要求Java 版本必须8以上, Java 6 和 7 不再支持. 内嵌容器包结构调整 为了支持reactive使用场景,内嵌的容器包结构被重构了 ...
- Spring Boot 2.0 迁移指南
点击上方"朱小厮的博客",选择"设为星标" 回复"666"获取新整理的1000+GB资料 前提 本文档将帮助您把应用程序迁移到 Spring ...
- Spring Boot 2.0 都更新了什么
Spring Boot 2.0 都更新了什么 2018 年 3 月 1 号 Spring Boot 2.0.0.RELEASE 正式发布,这是 Spring Boot 1.0 发布 4 年之后第一次重 ...
- Spring Cloud F Spring Boot 2.0 版本升级说明书
Spring Boot 2.0 需要 Java 8 或更高版本.不再支持 Java 6 和 7 了 在 Spring Boot 2.0 中,许多配置属性被重新命名/删除,开发人员需要更新 依赖版本 以 ...
- Spring Boot 3.0.0 发布第一个里程碑版本M1,你的 Java 升到 17 了吗?
欢迎关注方志朋的博客,回复"666"获面试宝典 文章来源:程序猿DD 2022年1月20日,Spring官方发布了Spring Boot 3.0.0的第一个里程碑版本M ...
- Java Spring Boot 2.0 实战之制作Docker镜像并推送到Docker Hub和阿里云仓库
内容摘要:大规模集群快速部署Java应用,需要制作Docker镜像,本次课程详细介绍如何制作Java程序的Docker镜像文件,深入解析DockerFile核心参数,以及实践演练把我们制作的Docke ...
- 第64节:Java中的Spring Boot 2.0简介笔记
Java中的Spring Boot 2.0简介笔记 spring boot简介 依赖java8的运行环境 多模块项目 打包和运行 spring boot是由spring framework构建的,sp ...
最新文章
- AWS攻略——使用CodeCommit托管代码
- php查找二维数组下标,PHP实现二维数组中的查找算法小结
- php网站首页点击更多时获取数据,jQuery+PHP实现点击按钮加载更多,不刷新页面加载更多数据!附:可用源码+demo...
- 测试进度需要考虑的问题
- 发那科冲压直线搬运机器人_行业应用 | 直线七轴软件配置
- HDMI光端机基本知识及相关品牌介绍
- leetcode714. 买卖股票的最佳时机含手续费(动态规划)
- 一个程序员的全部,并不是“技术”!知道为什么只能当码农吗?
- python 菜鸟:返回值_Python中的真实值和虚假值:详细介绍
- mysql 自定义函数 找不到表_mysql 自定义函数
- 中南民族大学计算机科学学院转专业,【通知】2018-2019学年学生转专业及专业分流工作...
- 从2D恢复出3D的数据
- 开启Spark history server
- 常用的SQL注入语句
- vmware mac os 10.11.6 安装xcode 8
- C语言BMP图像的读取、存入、水平镜像、竖直镜像、马赛克模糊处理、灰度二值化处理
- 【LOD for 3D Graphics】LOD技术背景调查
- Windows桌面应用程序(2-1-1st) 如何为桌面应用程序设计出色的用户体验
- python实现录屏录音小工具
- 小米打印机显示服务器出错,关于小米笔记本连接不上网络打印机的处理方法
热门文章
- memmove()/mmecpy()
- 这辆迷你摩托车,很酷!
- 内核抢占会让内核调度更好吗?
- linux platform 驱动模型分析
- Spring简化Java开发_spring如何简化java开发
- 华为路由器上有没有mac表_MAC地址表、ARP缓存表、路由表及交换机、路由器基本原理...
- linux as5 启动mysql_Red Hat AS5进入救援模式的步骤
- mysql 用户管理表_Mysql—用户表详解(mysql.user)
- 数据库和ORMS:使用Tortoise ORM与数据库通信
- LeetCode 2201. 统计可以提取的工件(哈希)