2011-11-08 40 views
23

原始的Play Framework 1.x有一个优雅的简单的模块管理系统。与Play资源库相结合,这是一个快速增强第三方组件库应用程序的好方法。如何在Play Framework 2.0中贡献模块?

随着Play 2.0,事情有很大的不同。

如何贡献所谓的“模块”?

回答

7

从邮件列表引用纪尧姆BORT:

模块只是标准的子项目。

[...]现在因为一切都被编译,你的模块路径文件必须 定义controllers.Assets.at

自己的路线对了,模块之间的航线包括还没有准备好。请问 即将工作。

5

简单地说,现在任何SBT项目都可以是模块。这是(某种程度上)的改进,因为您可以导入现有项目,而无需将它们转换为特定的“Play框架模块项目”格式。

例如,在Play 1.x中,有几个模块提供了属于“Play Module”项目的jar文件中的很多逻辑。 jar的来源不在同一个项目中,这可能会使调试复杂化。使用新系统,您可以简单地导入sbt-jar项目(无需创建包装项目),或者如果要导入包含其他项目的Play项目,则可以更轻松地遵循依赖关系。

另一个好处是您可以重新使用完整的Play项目作为模块。这意味着您可以将应用程序X的模块创建为完整且独立的Play项目,然后通过向Sbt构建文件添加一行来在Application Z中重新使用。那里有许多可能性。

+4

真棒,如何做到这一点呢?我刚开始考虑使用Play2。0但没有解释如何组合多个项目并像运行单个项目一样运行它们? – Ciantic

1

如果您想为Play 2.x创建/提供模块,并且不知道从哪里开始,请查看这个由两部分组成的教程。