繁体   English   中英

在Eclipse中使用Play框架2.1.x中的多个项目

[英]Using multiple projects in Eclipse with Play framework 2.1.x

我在Eclipse中有一个现有项目(我们称之为“NotPlayProj”),它有很多java代码仍处于开发阶段。 我使用play 2.1.0创建了一个新的eclipse项目(我们称之为“PlayProj”)。 我的目标是在PlayProj中使用NotPlayProj中的代码,让Eclipse和Play编译器注意到任一项目中的更改。

如果我进入PlayProj的属性并通过Project选项卡添加NotPlayProj,那么方法完成和包含在eclipse中工作,但Play编译没有看到结果。 我看过Play模块,那些似乎没有做我想要的。

有没有办法做到这一点,理想情况下不修改NotPlayProj?

编辑---我查看了http://www.playframework.com/documentation/2.0/SBTDependencies ,它展示了如何将一个jar从NotPlayProj导出到PlayProj / lib目录中,但这需要每次手动导出NotPlayProject变化。 我怀疑托管依赖部分应该涵盖这个,但我以前从未使用过SBT,因此可能缺少一些基本的东西。

您需要的是持续集成。

看看Jenkins: http//jenkins-ci.org/您应该设置一个持续集成服务器并自定义您需要的构建。

示例:您已在某个服务器上运行PlayProj ,它需要能够使用其他项目中名为NoPlayProj一些最新类。

重建是必须的,诸如停机零之类的事情很难实现(至少我不认为这是你要求的)。 使用Jenkins自动化所需的步骤是:

1 - 构建和部署位于某个存储库中的NoPlayProj的最新版本

2 - 构建和部署最新版本的PlayProj ,它位于某个存储库中,并且还包含您更新NoPlayProj存在的依赖项的最后一次提交

可以在Jenkins中配置不太复杂的构建和部署指令。 这应该会加快你的速度。 另外一个建议是尽可能对两个项目进行编组,这将有助于您更轻松地管理依赖项。

只是澄清一件事,你说: My goal is to use code from NotPlayProj in PlayProj and have both Eclipse and the Play compiler notice changes in either project.

那么,只要在提交代码之前更新依赖关系,执行构建的顺序将取决于您想要执行的操作。

最后一点,如果您不想部署,则不必这样做,您可以通过仅构建的方式创建Jenkins作业。 使用Jenkins,你可以做很多事情,也可以执行一些自己的帮助脚本,它们可以为你提供额外的功能。

我希望这很有用。

为了让Eclipse在使用PlayProj时看到NotPlayProj中的更改,只需更改PlayProj的配置即可。 属性 - > Java构建路径 - >项目 - >将NotPlayProj添加为依赖项。

没有简单的方法让Play编译器处理依赖关系,直到将其打包为jar。 考虑配置简单的ant任务(外部工具配置 - > Ant构建),它将复制您的jar文件。 按键或按钮可触发任务。

对于托管依赖项,每次在NotPlayProj中进行更改时,都必须手动重建它。 让Ivy / Maven将依赖放在本地存储库中。 之后,Play将从您的本地存储库获取最新的快照。

两种方法都需要一些努力。 也许你可以看一下运行Play的Python脚本,也许它足以在执行play start时用NotPlayProj扩展classpath

虽然我从未使用过play框架,但我认为play框架和eclipse都有一种格式,那就是Maven。 请看http://www.playframework.com/modules/maven-head/home

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM