Lagom / Play应用程序中的Main类是什么?

时间:2019-06-12 20:05:51

标签: scala playframework akka lagom

我正在尝试弄清楚如何在生产环境中打包和部署lagom应用程序。文档令人惊讶地对如何实际执行此操作感到co惜,当我尝试使用sbt-native-packager运行universal:packageBin时,我得到警告,You have no main class in your project. No start script will be generated.

有没有人做过这件事并且知道一个很好的教程或要参考的东西?

1 个答案:

答案 0 :(得分:2)

https://github.com/lagom/lagom/blob/a35fab1ad8a0c4a3d28d6c86ae31a2408da2e340/dev/sbt-plugin/src/main/scala/com/lightbend/lagom/sbt/LagomSettings.scala#L28

将其添加到项目中即可对其进行修复。也就是说,通常您不会看到此警告,因为Lagom插件应为您配置它。我想到的原因有两个,为什么您可能会看到此警告。

第一个是您没有在项目中启用Lagom插件。如果真是这样,并且您没有在真正知道自己在做什么的情况下没有进行高级操作(并且如果您真的知道自己在做什么,那么如果您不得不问这个问题,我会感到很惊讶),那么您可能会有一个配置错误,需要启用Lagom插件。

第二个可能是您正在多个项目上运行universal:packageBin,其中有些确实启用了Lagom插件,而有些则没有。在这种情况下,您可能只想为Lagom项目而不是所有其他项目(例如API项目或根项目)构建生产工件。因此,只需为您的服务运行它即可(例如,运行my-service-impl/universal:packageBin)。