Как исправить SBT 0.11, не найдя основной класс моего приложения? - PullRequest
2 голосов
/ 19 октября 2011

Я создал проект SBT 0.11 только из одного файла исходного кода (пока):

object HelloWorld extends App {
  println("Hello, world!")
}

При попытке run приложения с SBT я получаю "java.lang.RuntimeException: Основной класс не обнаружен ".

Как определить основной класс?

Я использовал" полную конфигурацию "со следующим Build.scala:

import sbt._

object MyBuild extends Build {
  lazy val HelloWorld = Project("HelloWorld ", file("src"))
}

И следующие build.sbt:


name := "HelloWorld"

version := "1.0"

scalaVersion := "2.9.1"

Ответы [ 2 ]

2 голосов
/ 03 ноября 2011
Второй параметр

Project указывает, что является базовым каталогом этого проекта, что предполагает, что у вас есть много проектов. Если бы путь к вашему исходному коду был HelloWorld\src\src\main\scala\HelloWorld.scala, то эта оригинальная строка работала бы.

Дело в том ... что второй параметр не указывает на исходный код. Это указывает на проект. Например, вы увидите, что он, вероятно, создал каталог HelloWorld\src\target в то время, когда вы пытались использовать исходную конфигурацию.

2 голосов
/ 19 октября 2011

Попробуйте заменить:

lazy val HelloWorld = Project("HelloWorld ", file("src"))

с:

lazy val HelloWorld = Project("HelloWorld ", file("."))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...