首先在项目根目录新建一个文件 manifest.yml
,内容如下:
---
applications:
- name: bookstore
path: srv/target/bookstore-exec.jar
random-route: true
services:
- bookstore-hana
文件描述了应用程序的名称和可以找到应用程序存档的路径。 Spring Boot 应用程序可以从单个 JAR 存档中部署,如上面 path 字段值所示:srv/target/bookstore-exec.jar
.
应用程序的路由(即可用的 HTTP 端点)随机生成(random-route: true
),以防止与其他应用程序路由发生冲突。
之前的 SAP HANA 服务实例的名称 bookstore-hana
在此处的服务部分 (bookstore-hana) 下使用。
Cloud Foundry 使用 Open Service Broker API
为应用程序提供服务。 在 Cloud Foundry 上运行应用程序时,可以使用环境变量 VCAP_SERVICES(类似于 default-env.json 的内容),其中包含所有必需的服务凭证。 CAP Java 可以自动读取此环境变量并将您的应用程序配置为使用 SAP HANA 数据库。
所描述的功能再次作为 CAP Java 中的另一个插件提供。 因此,您需要向项目中添加额外的 Maven 依赖项。 该依赖项将带来从 Cloud Foundry 的 VCAP_SERVICES 环境变量读取服务绑定的能力。
为了使用 CloudFoundry 上的 Open Service Broker API
,需要在 pom.xml
里添加如下的依赖:
<dependency>
<groupId>com.sap.cds</groupId>
<artifactId>cds-feature-cloudfoundry</artifactId>
</dependency>
即使启用了 Cloud Foundry 功能,CAP Java 也可以确保应用程序仍然可以在本地运行,使用基于 default-env.json 自动配置的 SQLite 或 SAP HANA。 它在所有环境中提供无缝的开发人员体验。
如果我们向应用程序添加了额外的 Java 系统属性 -Dspring-boot.run.profiles=cloud,以确保 application.yaml 中的默认 SQLite 配置不会生效。 将应用程序部署到 Cloud Foundry 时,Cloud Foundry Java Buildpack 会自动完成。
使用命令行 mvn clean install
进行构建:
使用 cf push 进行部署:
最终生成的应用 url:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。