如何使用 bootBuildImage 和 packeto 在 spring boot 中指定替代主类

问题描述

在gradle中调用spring boot插件bootBuildImage任务时,会使用packeto创建一个docker镜像。它启动 springBoot 插件中指定的主类。您可以在下面找到 build.gradle 文件的摘录。

springBoot {
    mainClass = 'MyMainApp'
}


bootBuildImage {
    imageName = "$docker_repo/${project.name}"
}

调用 docker run 时,docker 会运行一个容器,从 MyMainApp 开始。

但是,我想运行另一个主类,使用相同的 docker 镜像。我尝试了以下方法:

  • -Dloader.main=MyOtherApp 指定为 docker run 中的 cmd
  • -Dloader.main=MyOtherApp 环境变量中指定 JAVA_TOOL_OPTIONS
  • LOADER_MAIN=MyOtherApp 指定为环境变量

这些选项都没有以 MyOtherApp 开头。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)