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

Mel*_*son 11 java eclipse sbt playframework playframework-2.0

我在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,因此可能缺少一些基本的东西.

sfr*_*frj 2

你需要的是持续集成。

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

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

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

NoPlayProj1 - 构建并部署位于某个存储库中的最新版本

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

可以在 Jenkins 中配置不是很复杂的构建和部署指令。这应该会加快你的速度。另外另一个建议是如果可能的话将这两个项目进行 Maven 化,这将帮助您更轻松地管理依赖项。

只是为了澄清一件事,你说: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,您可以做很多事情,还可以执行一些自己的帮助脚本,为您提供额外的功能。

我希望这有用。