我正在研究未来网络应用程序的可能框架我负责构建和Play框架2.3几乎坐在列表顶部 - 但是,我还没有使用它直到现在(使用过Spring和Maven)另一种生活)我对应用程序本身有一个特殊的要求所以我想听听迄今为止使用Play的人的建议/想法(使用的语言是Java 8)。
web-app由模块组成,其中一些是独立的单元,应该构建为jar(以便可以从命令行访问它们作为批处理脚本的一部分)以及正在建立在完整的网络应用程序中运作。
现在,我之前已经使用maven构建了应用程序,我可以想象一种方法来实现它,但是Play带有自己的构建/依赖管理工具(SBT),我是不熟悉并且不了解其功能(这是否可以通过SBT实现?它有多难?)。
话虽如此,我已经对这个主题做了一些粗略的研究,我知道有play2-maven-plugin
,但homepage上的例子与Scala有关(我上面说过,不幸的是,我可以& #39; t use)。
我确实想要逃避任何"桥接"在SBT和maven之间 - 我不想维护两个构建系统并协调它们之间的差异,这看起来很噩梦。
最后,我在this SO帖子中发现,使用maven与Play 2.3可能甚至不是一个选项(SBT显然确实以某种方式使用Maven依赖关系)。毕竟,Play被认为是偏离了Java EE实践的一部分,所以Maven并没有让我感到惊讶。另外,与Maven一起玩integration被证明是麻烦的。
我不反对学习SBT或只使用maven(如果可能/可取的话) - 任何这些方法我很好,它只是我不熟悉的SBT的能力(特别是考虑到上述要求)。混合SBT和maven似乎有点可怕,关于用SBT构建Play的文档在这一点上似乎很少。
我应该选择SBT还是maven?你会推荐什么教程/文档?我应该使用Activator来了解SBT吗?
答案 0 :(得分:1)
注意我几乎要将问题标记为unclear what you're asking
,但最后却发现了我将在此处回答的真正问题。
SBT甚至更好Typesafe Activator。将其安装到您的计算机上,然后执行activator new myNewCoolPlayJava8App play-java
以开始使用Play和Java。
Apache Maven可能是一个可行的选择,但不要认为它会节省时间(你将花费相当长的时间来使配置正常工作)。
Play Framework的官方网站足以开始使用堆栈(并且不会卡住) - https://www.playframework.com/documentation。我经常使用它并发现它非常有用。当我需要更深入的信息时,我使用Google或StackOverflow(在playframework下)。
没有。 SBT可以在没有Activator的情况下生存,但反之亦然。 SBT是Activator的基础。见https://www.playframework.com/documentation/2.3.x/Build:
Play构建系统使用sbt,一种高性能的集成构建 用于Scala和Java项目。使用sbt作为我们的构建工具带来的 本页解释的某些要求。
来自the Activator's docs(就在the page的最底部):
Activator应用程序使用sbt。这意味着 你可以做什么,你可以做一个应用程序 激活。例如,可以轻松添加sbt插件 在Activator中的应用程序就像通常添加它们一样。