首页 > 解决方案 > 如何在 sbt 中将主类从子模块设置为根

问题描述

我有多模块设置,其中root只是子模块coreutil的项目包装器。 核心实际上是应用程序,包含我要运行的主类(扩展应用程序)。留在项目根目录(包装器)我想从核心子模块运行sbt run和执行主要方法

lazy val root = project
  .in(file("."))
  .aggregate(util, core)
  .settings(
    mainClass in Compile := (mainClass in Compile in core).value
  )

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

lazy val core = project
  .in(file("core"))
  .settings(
    mainClass in Compile := Some("com.iwaneez.scala.Hello"),
    libraryDependencies ++= commonDependencies
  )
  .dependsOn(util)

我希望通过执行来运行应用程序sbt run

标签: scalabuildsbt

解决方案


以下命令将让您运行项目

  sbt "project core" run

推荐阅读