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

问题描述

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

部署 SAP UI5 应用到 SAP BTP 时遇到的 error retrieving MTA 错误消息_第1张图片

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

问题分析

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

部署 SAP UI5 应用到 SAP BTP 时遇到的 error retrieving MTA 错误消息_第2张图片

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

部署 SAP UI5 应用到 SAP BTP 时遇到的 error retrieving MTA 错误消息_第3张图片

则可以手动往这个 MTA 应用里添加 HTML5 module:
部署 SAP UI5 应用到 SAP BTP 时遇到的 error retrieving MTA 错误消息_第4张图片

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

部署 SAP UI5 应用到 SAP BTP 时遇到的 error retrieving MTA 错误消息_第5张图片

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

部署 SAP UI5 应用到 SAP BTP 时遇到的 error retrieving MTA 错误消息_第6张图片

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

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

https://4f8ae60dtrial.us10cf....

部署 SAP UI5 应用到 SAP BTP 时遇到的 error retrieving MTA 错误消息_第7张图片

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

部署 SAP UI5 应用到 SAP BTP 时遇到的 error retrieving MTA 错误消息_第8张图片

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

部署 SAP UI5 应用到 SAP BTP 时遇到的 error retrieving MTA 错误消息_第9张图片

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

部署 SAP UI5 应用到 SAP BTP 时遇到的 error retrieving MTA 错误消息_第10张图片

部署 SAP UI5 应用到 SAP BTP 时遇到的 error retrieving MTA 错误消息_第11张图片

执行 mbt build 命令,会执行 mta.yaml 文件里定义的 build task
部署 SAP UI5 应用到 SAP BTP 时遇到的 error retrieving MTA 错误消息_第12张图片

最后成功生成了 archive 文件:
部署 SAP UI5 应用到 SAP BTP 时遇到的 error retrieving MTA 错误消息_第13张图片

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

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

部署 SAP UI5 应用到 SAP BTP 时遇到的 error retrieving MTA 错误消息_第14张图片

部署完毕后生成一个应用,但是显示 Error 提示:
部署 SAP UI5 应用到 SAP BTP 时遇到的 error retrieving MTA 错误消息_第15张图片

点击 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 等信息。

部署 SAP UI5 应用到 SAP BTP 时遇到的 error retrieving MTA 错误消息_第16张图片

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

你可能感兴趣的:(部署 SAP UI5 应用到 SAP BTP 时遇到的 error retrieving MTA 错误消息)