我正在使用一个由3个逻辑部分组成的游戏框架Web项目:userweb,admin区域和akka actor。
它正在慢慢成长,我需要为每个小改动重新启动生产服务器。这就是我决定将项目分为三个部分的原因。管理区域与DB和演员进行通信,UI也是如此,演员与Web部件和DB进行通信。 并且每个部件可以或多或少地无痛地重新启动而无需重新启动另一部件。但我不想分割项目,只能从一个代码库中生成不同的JARS。可能吗?
另一个问题是如何在Play框架环境中独立启动akka actor?
答案 0 :(得分:4)
如果你想拥有3个JAR,你们在不同的JVM上分别运行它们并且仍然只有一个SBT项目,你可以这样做...... SBT的项目结构:
root
- admin
- UI
- DB
您可以在构建root
时单独构建每个子项目,也可以一次构建所有子项目。
要生成单独的JAR,您可以使用sbt-assembly插件或onejar或任何其他jar包装器。每个JAR都包含一个" Main" class(使用main
方法),除了Play子项目,如果你在常规的Servlet容器上运行它。如果您在嵌入式Jetty上运行游戏,它也可以main
。
现在有一些链接:
首先,我将您的构建从build.sbt
迁移到' Build.scala`。将Play项目移动为SBT子项目并进行构建。当这个工作开始分裂它。