【问题标题】:Run simple executable jar with boxfuse使用 boxfuse 运行简单的可执行 jar
【发布时间】:2016-02-02 17:26:27
【问题描述】:

我想将当前使用 docker 运行的应用程序转换为 boxfuse。

maven 构建后,我有这些相关文件:

/target/my-app-shaded.jar
/config-dev.yml

在本地运行 jar 的命令就是 jar -jar target/my-app-shaded.jar server config-dev.yml

我能想到的是 boxfuse run target/my-app-shaded.jar 运行 jar 文件,但我如何添加配置文件和命令行参数?

【问题讨论】:

    标签: java maven cloudcaptain


    【解决方案1】:

    这似乎是一个 Dropwizard 应用程序。在这种情况下,您可以简单地将您的配置放在src/main/resources 下并像这样传递参数

    boxfuse run target/my-app-shaded.jar "-jvm.main.args=server config-dev.yml"

    在 Maven 或 Gradle 项目的根目录执行此操作并使用最新的 Boxfuse 客户端(您可以简单地使用 boxfuse -u 更新)时,您还可以将其简化为:

    boxfuse run "-jvm.main.args=server config-dev.yml"

    因为 Boxfuse 会自动发现负载。

    此外,如果您将配置文件命名为 boxfuse.yml,您还可以更进一步:

    boxfuse run

    更多信息:https://cloudcaptain.sh/docs/payloads/dropwizard#configuration

    【讨论】:

    • 实际上它只是一个较旧的 0.6.5,boxfuse 不支持。手动fat-jar方式是什么? (我很想了解细节)。可能是旧的 dropwizard 版本不支持从类路径读取,但我可能错了(从来没有这样做过)
    • 对于手动 fat-jar,您必须将配置打包到 fat-jar 中,然后您有 2 个选项:以编程方式从类路径加载配置(这可能有帮助:github.com/dropwizard/dropwizard/issues/409)或提取它启动时手动在磁盘上并将其作为文件加载。
    猜你喜欢
    • 1970-01-01
    • 2020-10-15
    • 1970-01-01
    • 1970-01-01
    • 2016-11-13
    • 2014-10-02
    • 2013-02-05
    • 2016-04-30
    • 2020-05-18
    相关资源
    最近更新 更多