ビルドでメインクラスを設定するにはどうすればいいですか? 質問する

ビルドでメインクラスを設定するにはどうすればいいですか? 質問する

メインクラスにはsbt run複数の選択肢があります。

メインクラスを設定したいので、次のように記述しましたbuild.sbt:

mainClass := Some("aMainClass")

しかし、sbt は次のように失敗します:

build.sbt:1: error: not found: value aMainClass

ファイルでも試してみましたproject/Project.scala:

import sbt._
  class ExecutableProject(info: ProjectInfo) extends DefaultProject(info)  {
  override def mainClass = Some("aMainClass")
}

エラー :

 project/Project.scala:3: not found: type aMainClass

ビルドでメインクラスを設定するにはどうすればいいですか?

ベストアンサー1

メイン クラスはパッケージで完全に修飾されている必要があります。

Compile/mainClass := Some("myPackage.aMainClass")

これは実行に機能し、パッケージ タスクを使用するときにマニフェストに Main-Class を設定します。これらのタスクのメイン クラスは、次のように個別に設定できます。

mainClass in (Compile, run) := Some("myPackage.aMainClass")
mainClass in (Compile, packageBin) := Some("myPackage.anotherMainClass")

注記:

mainClass := Some("myPackage.aMainClass")

何もしません。ビルド ファイルにこれを追加すると、何もしないという警告は表示されません。

おすすめ記事