当前位置 : 主页 > 手机开发 > 其它 >

playframework-2.0 – 使用Play 2.0应用程序进行依赖管理

来源:互联网 收集:自由互联 发布时间:2021-06-22
我们的团队对基于JVM的开发有些新意.我们正在开发由许多其他库组成的应用程序. 我们发现Play框架对于开发Web应用程序非常有吸引力.框架很棒,但我们本地开发的库的依赖管理有些令人
我们的团队对基于JVM的开发有些新意.我们正在开发由许多其他库组成的应用程序.

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

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

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

FWIW,我们正在使用IntelliJ 11.0(旗舰版)

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

关于如何改进我的Maven构建过程,我得到了很好的答案,我确实很感激.但是,这不是我正在寻找的答案.

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

在Eclipse或IntelliJ中,我可以添加’Service’模块(或Project for Eclipse)作为’App’项目的依赖项.这允许在“服务”库中进行更改时非常快的开发人员周转时间(例如,我向模型添加属性).重新编译和运行比编译,打包,部署,导入和重新加载浏览器快几个数量级.

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

你有2个选择.

Rich提到的第一个是本地存储库.这并不意味着您的dev机器中的本地文件夹maven创建为本地缓存而您正在使用.它表示LAN中的中央服务器,您可以在其中存储Play的应用程序版本,以便稍后检索.根据Rich的推荐,Nexus是一个很好的选择.

第二个选项是简单地构建您的jar并将它们部署为“lib”文件夹中的非托管库.然后,您可以将其提交到源管理系统,并且所有开发人员都具有相同的权限.

我推荐第一种方法,长期更好,但这是你的选择.

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

网友评论