美文网首页
项目版本升级

项目版本升级

作者: 暗夜行者 | 来源:发表于2019-03-28 14:00 被阅读0次

    maven依赖的项目升级从spring boot 1.4 升到了2.1.3 ,我是把所有的依赖都拿出来,一个个回贴回去看的,有几个地方有改变:

    1.JPA部分的操作findone不再支持,而是使用了findById,而且返回值是带有optional的,用于处理返回值可能为空的问题。save一个集合,也由saveAll代替,同理有deleteAll 和deleteById的更新。exist方法也换成了existById,不得不说这样命名更加严谨了。

    2.date格式的处理,有所差别,低版本的默认返回是numberic 类型的,而高版本变成了Date含有format的类型。当然两者之间可以通过JsonFormat的标签进行转换。

    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd@HH:mm:ss.SSSZ") 显示格式

    @JsonFormat(shape = JsonFormat.Shape.NUMBER) 显示数字

    3.@Query 做删除操作,需要加入@Transactional标签,否则会报一个事务的问题,之前只是有@Query和@Modify 就可以了

    4.虽然加载的依赖包有很多,但是通过Eclipse的dependency hierarchy (pom.xml tab旁边)可以清晰的看到包之间的依赖关系,不需要的包,在依赖中加入exclude标签剔除出去即可,需要别的版本,可以强制加入dependency 标签,将需要的版本引入。

    5.另外两个查看maven支持的包的网站蛮有用的

    https://nexus.pentaho.org/#browse/browse:omni:pentaho-kettle%2Fkettle-engine%2F8.1.0.0-365    但是这个工具网站上的一些版本号是下载不下来的,但是上面没有的,一定会报artifictid找不到的问题

    (插曲:pentaho的8版本在我们项目上都会出现运行时的异常,可能和最新的spring framework在一起运行会有问题,但这种重新开始一个项目或许就不会有了,里面的源码查问题的时候大概glimpse一下,循环调用,理解上需要功力)

    https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12/1.7.25  这个上面给出的版本号基本上无缝可以加载

    后记:

    之后通过Veracode去扫描,竟然出现了 Missing Supported files 的问题,而这些Missing的文件并不是在removed掉的依赖中,以前项目中也没有用到过。初步分析有两种可能:

    要么以前就有这个问题,可以忽视它。因为veracode给的提示就是确定这些丢失的文件不是要被扫描的就可以。

    要么就是新更新的包,有一些我们不知道依赖被veracode扫描出来了,然而通过测试并没有发现在项目的使用上有什么影响。解决这个问题,要么就加入这些丢失的文件依赖,要么就找到可能性的引用把他们移除掉,但是这种方式不确定性比较高。

    暂时选择忽视这个提示。无论是以前就有,还是更新包引起的,这些丢失的文件并没有被使用过。

    相关文章

      网友评论

          本文标题:项目版本升级

          本文链接:https://www.haomeiwen.com/subject/fdjqbqtx.html