如何在Play Framework 2.0中贡献模块?

最初的Play Framework 1.x有一个优雅而简单的模块管理系统。再加上Play存储库,这是使用第三方组件和库快速增强应用程序的好方法。

在 Play 2.0 中,情况就大不相同了。

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


答案 1

引用纪尧姆·博尔特(Guillaume Bort)从邮件列表中的话:

模块只是标准的子项目。

[...]现在,随着所有内容的编译,模块路由文件必须定义自己的路由,以便 controllers.Assets.at

顺便说一句,模块之间的路由包含尚未准备就绪。很快就会解决这个问题。


答案 2

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

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

另一个好处是,您可以将完整的 Play 项目作为模块重用。这意味着应用程序 X 的管理模块可以创建为完整且独立的 Play 项目,然后只需向 Sbt 生成文件添加一行即可在应用程序 Z 中重用。那里有很多可能性。


推荐