选择什么-sbt、maven或activator-为Play开发独立的命令行模块



我正在研究未来web应用程序的可能框架,我的任务是构建Play框架2.3,我直到现在才使用过它(在另一种生活中使用过Spring和Maven),我对应用程序本身有特殊的要求,所以我想听听迄今为止使用过Play的人的建议/想法(使用的语言将是Java 8)。

web应用程序由模块组成,其中一些模块是独立的单元,应该构建为jar(这样就可以作为批脚本的一部分从命令行访问它们),也可以构建为在成熟的web应用程序中运行。

现在,我以前用maven构建过应用程序,我可以想象一种使用它的方法,但Play自带构建/依赖性管理工具(SBT),我不熟悉,也不知道它的功能(用SBT实现这一点可能吗?有多难?)。

话虽如此,我已经对这个主题做了一些粗略的研究,我知道有play2-maven-plugin,但主页上的例子涉及Scala(不幸的是,如上所述,我不能使用它)。

可以肯定的是,我肯定想摆脱SBT和maven之间的任何"桥梁"——我不想维护两个构建系统,并将它们之间的差异调和在一起,这似乎是噩梦般的。

最后,我在这个SO线程中发现,在Play 2.3中使用maven甚至可能不是一个选项(SBT显然在某种程度上使用了maven依赖项)。毕竟,Play被认为是与Java EE实践的部分背离,所以Maven不受本机支持也就不足为奇了。此外,Play与Maven的集成也很麻烦。

我不反对学习SBT或只使用maven(如果可能/可取的话)——我对这些方法中的任何一种都很满意,只是我不熟悉SBT的功能(尤其是考虑到上面的要求)。坦率地说,将SBT和maven混合在一起似乎有点可怕,而且目前关于用SBT构建Play的文档似乎很少。

我应该选择SBT还是maven?你会推荐哪些教程/文档?我应该使用Activator了解SBT吗?

注意我差点把这个问题标记为unclear what you're asking,但最后发现了我要在这里回答的真正问题。

我应该选择SBT还是maven

SBT或更好的Typesafe激活剂。将其安装在您的计算机上,并执行activator new myNewCoolPlayJava8App play-java以开始使用Play和Java。

ApacheMaven可能是一个可行的选择,但不要认为它会节省时间(您将花费相当长的时间来完成配置)。

你会推荐哪些教程/文档

Play Framework的官方网站足以开始使用堆栈(不要陷入困境)-https://www.playframework.com/documentation.我经常使用它,发现它信息量很大。当我需要更深入的信息时,我会使用Google或StackOverflow(在playframework下)。

我应该使用Activator了解SBT吗

没有。SBT可以在没有Activator的情况下生存,但反之亦然。SBT是Activator的基础。看见https://www.playframework.com/documentation/2.3.x/Build:

Play构建系统使用sbt,这是一种高性能的集成构建用于Scala和Java项目。使用sbt作为我们的构建工具带来游戏的某些要求在本页中进行了解释。

来自Activator的文档(就在页面的最底部):

激活器应用程序在封面下使用sbt。这意味着在sbt中可以执行的任何操作都可以使用中的应用程序执行激活器。例如,sbt插件可以很容易地添加到Activator中的应用程序,就像通常添加的一样。

相关内容

最新更新