部署 SAP UI5 应用到 SAP BTP 时遇到的 error retrieving MTA 错误消息
问题描述
当我试图使用 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 上:
https://4f8ae60dtrial.us10cf.trial.applicationstudio.cloud.sap/index.html#ws-pdwk4
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
:
在项目文件夹的 default-env.json
里,是包含了 SAP BTP 上 HANA Cloud instance 的 url 和 access credentials 等信息。
而 mta.yaml 文件里,根本没有把 Java 应用和 SAP BTP 上的 HANA Cloud instance 建立关联关系,所以启动时报 JDBC 的错误。
版权声明: 本文为 InfoQ 作者【Jerry Wang】的原创文章。
原文链接:【http://xie.infoq.cn/article/1e3f36c79a3f0dac295ec49c0】。文章转载请联系作者。
评论