我有一个应用程序,它使用插件 maven-invoker 在运行时以编程方式运行 Maven 命令“clean package”。为了能够在 Cloud Foundry 上运行这个应用程序,我们需要在调用程序上设置 Maven Home。
这个问题类似于Maven Invoker: IllegalStateException,除了我们在 Cloud Foundry 上部署但不知道如何获取 Maven Home 的值。
是否可以从 CF 环境中获取它?
我有一个应用程序,它使用插件 maven-invoker 在运行时以编程方式运行 Maven 命令“clean package”。为了能够在 Cloud Foundry 上运行这个应用程序,我们需要在调用程序上设置 Maven Home。
这个问题类似于Maven Invoker: IllegalStateException,除了我们在 Cloud Foundry 上部署但不知道如何获取 Maven Home 的值。
是否可以从 CF 环境中获取它?
Java 构建包不安装 Maven 或设置任何与 Maven 相关的环境变量。cf set-env
但是,您可以通过或在env
manifest.yml 文件的块中设置您喜欢的任何环境变量。
https://docs.cloudfoundry.org/devguide/deploy-apps/manifest.html#env-block
在 CF 上运行时,您的应用程序将以vcap
用户身份运行并且它会用完/home/vcap/app
(或引用 $HOME 环境变量)。如果您需要为 Maven 主目录选择一个位置,我建议将其放在该目录下。