1. ホーム
  2. scala

[解決済み] SBT 0.13プロジェクトでメインクラスを設定する方法

2023-07-23 17:18:27

質問

SBTプロジェクトでメインクラスを設定する方法について教えてください。私は、バージョン0.13を使用しようとしています。

私のディレクトリ構造は非常にシンプルです(SBTのドキュメントとは異なります)。ルートフォルダで私は持っています build.sbt があり、以下のコンテンツがあります。

name := "sbt_test"

version := "1.0"

scalaVersion := "2.10.1-local"

autoScalaLibrary := false

scalaHome := Some(file("/Program Files (x86)/scala/"))

mainClass := Some("Hi")

libraryDependencies ++= Seq(
    "org.scalatest" % "scalatest_2.10" % "2.0.M5b" % "test"
)

EclipseKeys.withSource := true

また、サブフォルダ project には、単一のファイル Hi.scala で、次のコードを含んでいます。

object Hi {
  def main(args: Array[String]) = println("Hi!")
}

を呼び出すとコンパイルできるようになりました。 sbt compile しかし sbt run が返ってくる

The system cannot find the file C:\work\externals\sbt\bin\sbtconfig.txt.
[info] Loading project definition from C:\work\test_projects\sbt_test\project
[info] Set current project to sbt_test (in build file:/C:/work/test_projects/sbt_test/)
java.lang.RuntimeException: No main class detected.
        at scala.sys.package$.error(package.scala:27)
[trace] Stack trace suppressed: run last compile:run for the full output.
[error] (compile:run) No main class detected.
[error] Total time: 0 s, completed Apr 8, 2013 6:14:41 PM

どのように解決するのですか?

アプリケーションのソースを src/main/scala/ , project/ はビルド定義コードです。