如何在 Eclipse-Bluemix Liberty 期间使用清单的服务部分进行 Java 部署

How to use services section of manifest during Eclipse-Bluemix Liberty for Java deployment

我有一个 manifest.yml 示例 java 应用程序。它包括其中的数据库服务: 应用: - 名称:红皮书图书馆 内存:512M 路径:RedbookLibrary.war 主机:redbook-library-rew-eclipse3 构建包:自由换 java 服务: - library_db

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

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

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

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

如果没有绑定,在 Eclipse 上打开你会看到类似于屏幕截图中的配置

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

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

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

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

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