sbt的多项目构建

本文详细介绍了sbt的多项目构建,包括定义项目、设置公共配置和依赖。依赖管理部分讲解了如何管理依赖包以及如何依赖另一个项目。此外,还阐述了项目依赖的两种类型:Aggregation依赖和Classpath依赖。任务执行方式、指定主类以及外部配置引用(如Resolvers和Dependencies)也是构建过程中的关键环节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.定义项目

lazy val util = project
lazy val core = project

2.修改项目根目录

lazy val util = (project in file("util"))

lazy val core = (project in file("core"))

3.设置公共配置

lazy val commonSettings = Seq(
  organization := "com.example",
  version := "0.1.0",
  scalaVersion := "2.12.2"
)

lazy val core = (project in file("core"))
  .settings(
    commonSettings,
    // other settings
  )

lazy val util = (project in file("util"))
  .settings(
    commonSettings,
    // other settings
  )

4.设置依赖

第一种,依赖包管理

lazy val commonDeps = common
val common = Seq(
		"com.typesafe" % "config" % "1.3.0",
		"junit" % "junit" % "4.12",
		"org.specs2" % "specs2_2.10" % "2.5" % "test",
		"com.typesafe.play" %% "play-json" % "2.3.8"
	)

lazy val util = (project in file("util"))
  .settings(
  libraryDependencies ++= Dependencies.commonDeps,
  )

第二种,依赖另一个项目的依赖

lazy val core = project in file("core")

lazy val util = (project in file("util"))
  .settings(
  libraryDependencies ++= Dependencies.commonDeps
  //key libraryDependencies 包含两个方面的复杂性:+= 方法而不是 :=,第二个就是 % 方法。
  //+=方法是将新的值追加该 key 的旧值后面而不是替换它
  ).dependsOn(core)

//这种
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值