SAP CAP篇九:升级为SAP CDS 7.0, CAP Java 2以及Spring Boot 3

本系列文章

SAP CAP篇一: 快速创建一个Service,基于Java的实现
SAP CAP篇二:为Service加上数据库支持
SAP CAP篇三:定义Model
SAP CAP篇四:为CAP添加Fiori Elements程序(1)
SAP CAP篇五:为CAP添加Fiori Elements程序(2)
SAP CAP篇六:为CAP添加Fiori Elements程序(3)
SAP CAP篇七:为CAP添加Fiori Launchpad入口 (Sandbox环境)
SAP CAP篇八:为CAP添加App Router并支持Fiori Launchpad (Sandbox环境)
SAP CAP篇九:升级为SAP CDS 7.0, CAP Java 2以及Spring Boot 3
SAP CAP篇十:理解Fiori UI的Annoation定义
SAP CAP篇十一:支持Media Object:图片、附件等
SAP CAP篇十二:AppRouter 深入研究

升级之前的准备

本篇内容完全基于上一篇SAP CAP篇八:为CAP添加App Router并支持Fiori Launchpad (Sandbox环境)

根据SAP CAP Release Schedule,SAP CAP每年都有一个大版本,而之前的版本就会进入维护模式。

New major versions of CAP will be released every 12 months, in May 2023。

随着2023年大版本的发布,是时候升级到最新的版本了。

升级步骤

检查当期版本

执行下列语句:

cds --version

如果当期环境已经是CDS 7.0了,那么结果为:

PS C:\Users\{user}> cds --version
@sap/cds: 7.0.0
@sap/cds-compiler: 4.0.2
@sap/cds-dk (global): 7.0.1
@sap/cds-fiori: 1.0.0
@sap/cds-foss: 4.0.2
@sap/cds-mtxs: 1.9.0
@sap/eslint-plugin-cds: 2.6.3
Node.js: v18.16.0
home: C:\Users\{user}\AppData\Roaming\npm\node_modules\@sap\cds-dk\node_modules\@sap\cds

升级cds-dk

如当期版本不是期待的7.0.0,就需要升级了。

npm add -g @sap/cds-dk

上述命令会自动安装@sap/cds-dk的最新版本。

更新项目

上述CDS SDK更新完成之后,下面就要进入具体项目的升级了。

官方升级文档,请参阅这里

其实,最主要的,是更新项目中的pom.xml中的properties部分。

		<cds.services.version>2.0.1</cds.services.version>
		<spring.boot.version>3.0.7</spring.boot.version>

        <cds.install-cdsdk.version>7.0.1</cds.install-cdsdk.version>

其余代码部分,主要是Spring Boot升级所导致的,最常见的是namespace javax被升级到了namespace Jakarta

编译并测试

更新完成后,需要进行编译及测试。

编译已有项目:

mvn clean install

有时候,会遇到如下错误:

[INFO] Downloading from aliyunmaven: https://maven.aliyun.com/repository/public/com/sap/cds/cds-services-archetype/2.0.1/cds-services-archetype-2.0.1.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  2.577 s
[INFO] Finished at: 2023-07-02T11:24:28+08:00
[INFO] ------------------------------------------------------------------------

解决方法是,找到该出问题module,在Maven本机缓存中的具体目录。譬如,上面出错的module是cds-services-archetype,其目录通常是
C:\Users\{user}\.m2\repository\com\sap\cds\cds-services-archetype

根据错误信息,出错的版本是2.0.1,所以只要删除文件夹 2.0.1 然后重试。通常都可以成功。

启动项目:

mvn spring-boot:run

一切正常。当然因为这个Demo 项目到目前为止几乎没有额外的代码,所以本次升级过程异常顺利。

对应代码及branch

与本文配套的代码

本篇对应的branch是6_cds7

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值