加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 05:02:00 所属栏目:百科 来源:网络整理
导读:我们的团队对基于JVM的开发有些新意.我们正在开发由许多其他库组成的应用程序. 我们发现Play框架对于开发Web应用程序非常有吸引力.框架很棒,但我们本地开发的库的依赖管理有些令人烦恼.我们正在使用Play 2.0的RC2,虽然我们能够对加载到Play中的库进行更改,但
我们的团队对基于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.我没有看到其他选择.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读