gpt4 book ai didi

playframework-2.0 - Play 2.0 应用程序的依赖管理

转载 作者:行者123 更新时间:2023-12-04 21:22:40 25 4
gpt4 key购买 nike

我们小组对基于 JVM 的开发有些陌生。我们正在开发由许多其他库组成的应用程序。

我们发现 Play 框架对于开发 Web 应用程序非常有吸引力。框架很棒,但是我们本地开发的库的依赖管理有点令人烦恼。我们使用的是 Play 2.0 的 RC2,虽然我们能够将库中的更改加载到 Play 中,但这绝对是一个尴尬的过程,会中断通常流畅的 Play 过程。

我们正在做的是将我们的库推送到我们的本地(在每个开发人员的机器上)Maven 存储库,然后将这些相同的库导入回 Play 项目。它有效,但正如我所说,这很尴尬。

我们应该采用哪些最佳实践来使这项工作更顺利一些?

FWIW,我们正在使用 IntelliJ 11.0(终极版)

============编辑=============

关于如何改进我的 Maven 构建过程,我得到了很好的答案,我对此表示感谢。但是,这并不是我正在寻找的答案。

具体来说,假设我正在构建一个服务和一个 Web 应用程序来监视/管理服务。 Service 是一个普通的 Java/Scala 项目,而 Web App 是一个 Play!项目。我们将这些称为“服务”和“应用程序”。 (请不要对这个提议的结构挑剔,为了问题的目的我正在简化它)

在 Eclipse 或 IntelliJ 中,我可以添加“服务”模块(或 Eclipse 项目)作为“应用程序”项目的依赖项。这允许开发人员在“服务”库中进行更改时非常快速地周转(例如,我将属性添加到模型)。重新编译和运行比编译、打包、部署、导入和重新加载浏览器快几个数量级。

根据我对 Play 2.0 和 SBT 文档的阅读,我唯一真正的答案是让“服务”成为“应用”的子项目。有更好的答案吗?

最佳答案

您有 2 个选项。

正如 Rich 提到的,第一个是本地存储库。这并不意味着 Maven 创建为本地缓存并且您正在使用的开发机器中的本地文件夹。这意味着 LAN 中的中央服务器 您存储应用程序版本以供 Play 稍后检索的位置。 Nexus ,正如 Rich 推荐的那样,是一个不错的选择。

第二种选择是简单地构建您的 jar 并将它们部署为您的 中的非托管库。 “lib”文件夹 .然后,您可以将其提交到您的源代码管理系统,所有开发人员都将拥有相同的内容。

我推荐第一种方法,从长远来看要好得多,但这是您的选择。

编辑评论
你说你不想管理依赖关系。我能想象的唯一第三种情况是您希望将所有代码作为一个 block 。在这种情况下,您可以使用 subprojects .我没有看到其他选择。

关于playframework-2.0 - Play 2.0 应用程序的依赖管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9422173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com