【问题标题】:Cloud Foundry, run-task, simple HelloWorld.javaCloud Foundry,运行任务,简单的 HelloWorld.java
【发布时间】:2021-06-30 08:49:38
【问题描述】:

我只想让像 Hello World 这样的简单应用程序在 CloudFoundry 上作为任务运行。

所以我想cf run-task myapp firstArgument secondArgument

是否可以在 Cloud Foundry 上部署应用程序并像在 linux 控制台上一样启动这个 jar。

java -jar simpleApp.jar firstargument seconArgument 

【问题讨论】:

    标签: java cloud-foundry


    【解决方案1】:

    是的,这是 100% 可能的。

    1. 构建您的应用程序并编译它。
    2. 打包成可以执行的JAR文件。通过运行 java -jar your-app.jar 在本地进行测试和确认。
    3. 现在cf push -p path/to/youar-app.jar您的应用程序。 Java buildpack 应检测应用并安装运行应用所需的软件。
    4. Java buildpack 和 CloudFoundry 通常希望您推送的应用程序能够永远启动和运行。如果您的应用程序没有启动,并且仅在有限的时间内运行,则应用程序将无法启动,但这没关系。你可以忽略它。失败后,运行cf stop
    5. 如果您的任务在有限的时间内运行,您需要一个额外的步骤。运行cf run-task <your-app> <arg1> <arg2> ...。诀窍是Java 不会在$PATH 上,因此您需要使用Java 可执行文件的完整路径,即.java-buildpack/open_jdk_jre/bin/java。例如,如果您想打印 Java 版本,cf run-task your-cool-app ".java-buildpack/open_jdk_jre/bin/java -version"(请确保您已引用命令,相应地在命令中转义引号)。

    有关运行任务的更多背景信息,请参阅此 SO 帖子:https://stackoverflow.com/a/67872218/1585136

    【讨论】:

    • 如果我尝试运行“cf run-task your-cool-app .java-buildpack/open_jdk_jre/bin/java -version”,我会收到错误错误用法:未知标志 `e'
    • @ASP.NOOB 看起来像是引用问题,抱歉。需要引用要运行的命令。我已经更新了上面的命令,请试一试。
    猜你喜欢
    • 1970-01-01
    • 2016-03-20
    • 1970-01-01
    • 1970-01-01
    • 2016-10-05
    • 2021-12-16
    • 1970-01-01
    • 1970-01-01
    • 2017-09-07
    相关资源
    最近更新 更多