繁体   English   中英

如何从第二个项目向Eclipse中的Play框架项目添加依赖项?

[英]How to add dependency to Play framework project in Eclipse from second project?

我对Java / Scala / Play / Eclipse完全陌生。 到目前为止,我的经验主要是使用C#和Visual Studio。

我想知道如何从Eclipse的Scala项目向我的Eclipse的Play项目添加依赖项。 在Visual Studio中,只需创建一个类库项目,然后将其添加为对另一个项目的引用即可。 IDE管理了构建过程。

我尝试在Build.scala文件中添加一个新项目:

import sbt._
import Keys._
import play.Project._

object ApplicationBuild extends Build {

  val appName         = "blogUI"
  val appVersion      = "1.0-SNAPSHOT"

  val appDependencies = Seq(
    // Add your project dependencies here,
    jdbc,
    anorm
  )

  //  The new project; everything else was boilerplate
  val blogPlatform = Project("blogPlatform", file("blogPlatform")).settings(
    scalaVersion := "2.10.2"
  )

  val main = play.Project(appName, appVersion, appDependencies).settings(
    // Add your own project settings here      
  )

}

这行不通-最终在我的blogUI Play项目中创建了一个空的blogPlatform目录,而不是引用我现有的blogPlatform项目。 我也不熟悉sbt,所以我可能会完全滥用该工具。

我还尝试通过Eclipse将blogPlatform项目添加为依赖项,该方法可以正常工作-直到从终端运行“ play eclipse”。 这消除了我在IDE中所做的任何更改。

理想情况下,我想要一种将blogPlatform作为依赖项添加到blogUI项目的方法,以使其受到Eclipse和Play的尊重,并使得在重建blogUI时可以重建blogPlatform。 因此,仅将预编译的jar文件添加到Play项目的lib目录中是不够的(我遇到的另一种方法,但是我没有尝试过)。

任何建议或对工具或资源的建议将不胜感激!

如果您的两个项目紧密结合,那么多项目构建可能最有意义。 我发现来自42的这篇博客文章在本地设置多项目构建时非常有帮助。 运行play eclipse您应该自动以多个具有正确依赖性的Eclipse项目文件结束。

如果您的项目不相关,则外部化的依赖关系可能更有意义。 在第一个项目中,您可以运行play publish-local将jar文件部署到本地Ivy存储库中。 sbt docs解释了如何配置发布到中央存储库。 在第二个项目中,您可以添加指向该工件的"groupId" % "artifactId" % "1.0-SNAPSHOT"依赖项。 不幸的是,Eclipse在这种配置下不能很好地发挥作用,并且在导入两个项目之后必须用项目依赖项手动替换jarfile依赖项。

暂无
暂无

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

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