将项目Springboot的Jar包依赖从1.X升级到2.X以后发现以下问题
1.原本的Jar包依赖报错
thymeleaf-spring4报错
因为1.X使用的是spring4,而2.X使用的是spring5,因此将版本依赖修改为thyleaf-spring5
commons-beantuils包丢失
通过翻阅spring-boot-dependenciesJar包依赖发现2.X没有导入这个jar包,因此手动导入1.9.3版本
org.json包丢失
通过翻阅spring-boot-dependenciesJar包依赖发现2.X没有导入这个jar包,而1.X导入的json.version为20140107版本,因此手动导入20140107版本
2.POM文件的变更
mysql-connector-java将不需再指定版本
httpcomponents包将不再指定版本
针对druid将升级成1.1.10版本
kafka版本升级
官网表示2.7.0版本符合springboot2.X要求,并且最稳定,因此使用2.7.0版本
org.apache.kafka kafka-clients2.7.0 org.springframework.kafka spring-kafka2.7.0 org.apache.kafka kafka-clients
可以通过以下连接查询springboot2.X对应kafka版本
Spring for Apache Kafkae
es版本升级
根据以下连接查询各springboot对应es版本
Spring Data Elasticsearch - Reference documentation
这里使用7.15.2版本
org.elasticsearch.client elasticsearch-rest-high-level-client7.15.2 org.elasticsearch elasticsearch7.15.2
3.项目启动报错
提示org.hibernate.validation.constrains下的包不存在
通过翻阅jar包依赖发现这个包是springboot-start-web导入的,而在springboot2.X版本这个包将不会自动导入,因此手动导入
org.hibernate.validator hibernate-validator
MySqlSyntaxErrorExeception类提示不存在
springboot1.X使用的mysql-connector-java为5.0.39版本
MySqlSyntaxErrorExeception继承自MySqlNonTransientException
MySqlNonTransientException继承自SQLException
而springboot2.X中这个异常将不再对数据库进行分类,同一位SQLSyntaxErrorException
EmbeddedServletContainerInitialized类提示不存在
查阅资料发现这个类已经废弃掉了,并且使用的类变成了WebServerInitialzedEvent
并且导入的cxf包版本也要升级成如下,不然会报错
org.apache.cxf cxf-spring-boot-starter-jaxws3.2.6
至此,升级完成,启动不报错,以后细节问题在做修复补充
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)