在我们的多项目代码库中,我们使用Maven作为构建框架.
但是,我们有一个基于Play框架的模块,我们必须使用SBT构建.
在Maven项目中,我们通过另一个名为"version"的项目配置了dependencyManagement,并将其包含在pom.xml中,如下所示.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.xxxx.release</groupId>
<artifactId>xxxx-version</artifactId>
<version>${project.version}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
Run Code Online (Sandbox Code Playgroud)
这确保为特定构建提取正确版本的依赖项jar.
有没有办法与SBT实现相同的目标?
您可以创建一个内部 sbt 插件,定义如下内容:
package com.example
import sbt._
object Dependencies {
// versions
lazy val akkaVersion = "2.5.22"
// libraries
val akkaActor = "com.typesafe.akka" %% "akka-actor" % akkaVersion
val akkaCluster = "com.typesafe.akka" %% "akka-cluster" % akkaVersion
}
Run Code Online (Sandbox Code Playgroud)
将插件添加到您的 Play 应用程序后,您可以在里面编写build.sbt如下内容:
import com.example.Dependencies._
Run Code Online (Sandbox Code Playgroud)
并将akkaActor可作为名称使用。
| 归档时间: |
|
| 查看次数: |
333 次 |
| 最近记录: |