3

我有一个用于示例 java 应用程序的 manifest.yml。它包括数据库服务:应用程序:-名称:redbooklibrary内存:512M路径:RedbookLibrary.war主机:redbook-library-rew-eclipse3 buildpack:liberty-for-java服务:-library_db

我已经在 Bluemix (SQLDB) 中创建了 library_db。当我通过命令行推送这个应用程序时,会自动绑定 SQLDB library_db 服务并且应用程序工作正常。

当我通过 Eclipse 部署相同的应用程序时,我必须通过整个部署向导,并手动检查 library_db 服务。我可以更改清单中的主机名,向导正在选择新名称,因此它正在查找清单。但是,如果我在未手动选择 library_db 的情况下进行部署,则服务未绑定。因此,它似乎忽略了清单的服务部分。如果我手动选择服务,应用程序会绑定并正常工作。

我还需要做些什么来让 Eclipse->Bluemix 识别清单的服务部分?

4

2 回答 2

0

您必须在 Bluemix UI 上的配置中或使用 CF 客户端将服务配置为绑定到应用程序。 https://www.ng.bluemix.net/docs/services/reqnsi.html#req_instance

如果未绑定,则在 Eclipse 上打开您会看到类似于屏幕截图中的配置在此处输入图像描述

该服务未绑定到 Bluemix 上的应用程序,因此每次我将应用程序部署到 Bluemix 时,如果我想将其绑定到应用程序,就必须手动添加它。

于 2015-08-26T14:42:12.547 回答
0

如果您在 Eclipse Tools for Bluemix 中的 Web 项目中有 manifest.yml,并且该 manifest.yml 包含一个已在您的空间中存在的命名服务实例,那么当您开始部署应用程序时,向导应该会自动选择它。

这意味着,在您的情况下,应该在向导的服务页面上自动检查 library_db 服务(但在您的情况下,听起来好像不是,这将是错误。)

但是,我尝试在最新版本的 IBM Eclipse Tools for Bluemix(截至 2015 年 8 月为 v1.0.4)中重现此问题,并且此场景按预期工作:当我使用 manifest.yml 部署应用程序时,我看到服务复选框已根据 manifest.yml 中的服务值自动选中。

我的建议是使用部署向导第一页上的“保存到清单文件”复选框。这将为您的项目保存一个 manifest.yml 文件,您可以将其与您当前使用的 manifest.yml 进行比较(如您的问题描述中所述)。

于 2015-08-26T16:08:49.360 回答