【问题标题】:Add an external Project dependency to my Play application将外部项目依赖项添加到我的 Play 应用程序
【发布时间】:2014-09-30 17:10:24
【问题描述】:

目前我正在使用一个非常基本的 build.sbt 文件,它由 activator 创建并为我提供了一个 Play 应用程序

我的目标是向我的 Play 应用程序添加一个外部项目依赖项。

我的 build.sbt 文件看起来像

libraryDependencies ++= Seq(
...
)

lazy val root = (project in file(".")).enablePlugins(PlayScala)
pipelineStages := Seq(rjs, digest, gzip)

添加对外部项目的依赖以更改为使用 build.scala 文件的唯一方法是什么? 如果是这样,Build.scala 文件是否可以引用当前的 build.sbt 文件?

外部项目也有自己的 Build.scala 文件,那么是否可以从“主”构建文件中引用外部项目?

谢谢

【问题讨论】:

  • build.sbt 缺少空白行(是的,呃),但是另一个文件在哪里?

标签: scala playframework sbt dependency-management typesafe-activator


【解决方案1】:

你有两个选择:

  1. 发布到 Ivy 并解决(参见:http://www.scala-sbt.org/0.13/docs/Publishing.html#Publishing+Locally
  2. 直接引用其他项目,例如在您的 build.sbt 中。

选项 #2 如下所示:

lazy val other = file("/path/to/other").getAbsoluteFile.toURI

lazy val root = (project in file(".")).enablePlugins(PlayScala).dependsOn(other)

【讨论】:

  • 非常感谢,这很有效 - 作为一个额外的说明,因为我依赖的项目本身有 2 个项目结构,我最终不得不使用稍微不同的子项目定义lazy val oauthProvider = ProjectRef (file("/Working/scala-services/AS/scala-oauth2-provider").getAbsoluteFile.toURI, "play2-oauth2-provider")
  • 是的,我应该提到 ProjectRef 位。
  • 您好,选项 #2 似乎仅在您的库项目是该剧项目树的子项目时才有效。您能否详细说明如何包含 play 项目目录之外的外部 java 项目?另外,你能解释一下哪个选项更简单和更受欢迎吗?
猜你喜欢
  • 2015-09-07
  • 2012-12-30
  • 2018-09-14
  • 2015-02-18
  • 1970-01-01
  • 2013-08-07
  • 1970-01-01
  • 2014-03-04
  • 2016-02-29
相关资源
最近更新 更多