部署 SAP UI5 应用到 SAP BTP 时遇到的 error retrieving MTA 错误消息

Offer 驾到,掘友接招!我正在参与2022春招打卡活动,点击查看活动详情

问题描述

当我试图使用 SAP 成都研究院 Business Application Studio 部署一个 SAP UI5 应用到 SAP Business Technology Platform 时,运行命令行 npm run deploy, 遇到如下错误消息:

Error retrieving MTA: Could not find MTA mta_archives/archive.mtar

问题分析

查找 SAP UI5 应用文件夹下面,确实没有这个名为 mta_archives/archive.mtar 的文件。

根据 template 创建应用时,如果可以选择 Multi-Target Application 模板,

则可以手动往这个 MTA 应用里添加 HTML5 module:

然后对应用进行 build,可以生成 mtar 文件,之后可以部署了。

回到我们的实际例子,确实可以从模板创建 MTA 应用:

但是现在我们已经有一个 Java 应用了。

首先把我们现在的项目代码提交到 Github 上:

4f8ae60dtrial.us10cf.trial.applicationstudio.cloud.sap/index.html#…

push 的时候报错:Git:fatal: No configured push destination

我们使用命令行 cds add mta 给 Java 应用自动生成一个 mta.yaml 文件:

自动生成了一个 mta.yaml 文件,里面包含了一个 Java module:

执行 mbt build 命令,会执行 mta.yaml 文件里定义的 build task

最后成功生成了 archive 文件:

以前我没有把这个 Java 应用使用 cds add mta 时,直接使用 cf push 进行的部署。

如今,使用 Deploy MTA Archive 菜单进行部署:

部署完毕后生成一个应用,但是显示 Error 提示:

点击 Application Routes 之后:

404 Not Found: Requested route ('4f8ae60dtrial-dev-bookstore-srv.cfapps.us10.hana.ondemand.com') does not exist.

很多错误:

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

当我们用 cf push 部署单个 Java 应用时,使用的文件是 manifest.yaml:

---
applications:
- name: bookstore
  path: srv/target/bookstore-exec.jar
  random-route: true
  services:
  - bookstore-hana
复制代码

在项目文件夹的 default-env.json 里,是包含了 SAP BTP 上 HANA Cloud instance 的 url 和 access credentials 等信息。

而 mta.yaml 文件里,根本没有把 Java 应用和 SAP BTP 上的 HANA Cloud instance 建立关联关系,所以启动时报 JDBC 的错误。

猜你喜欢

转载自juejin.im/post/7075521940093403166
今日推荐