【问题标题】:SBT alternative for maven's dependencyManagementmaven 依赖管理的 SBT 替代方案
【发布时间】:2019-05-01 13:12:19
【问题描述】:

在我们的多项目代码库中,我们使用 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>

这确保为特定构建提取正确版本的依赖 jar。

有没有办法通过 SBT 实现相同的目标?

【问题讨论】:

    标签: maven sbt


    【解决方案1】:

    您可以创建一个内部 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
    }
    

    将插件添加到您的 Play 应用后,您可以在 build.sbt 内写如下:

    import com.example.Dependencies._
    

    akkaActor 将作为名称使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-30
      • 2011-09-11
      • 2011-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-11
      相关资源
      最近更新 更多