Как установить основной class в сборке?
После sbt run
меня есть несколько вариантов основного classа.
Я хотел бы установить основной class, поэтому я build.sbt
в build.sbt
:
mainClass := Some("aMainClass")
Но sbt терпит неудачу:
- Как подавить информацию и сообщения о успехе в sbt?
- Запуск пользовательской задачи автоматически до / после стандартной задачи
- Jvm занимает много времени, чтобы решить ip-адрес для localhost
- Добавление Play JSON Library в sbt
- Настройка sbt для использования Java 7 для компиляции?
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
Как установить основной class в сборке?
- Могут ли мультипроекты из GIT использоваться в качестве зависимостей SBT?
- Как ссылаться на внешний проект sbt из другого sbt-проекта?
- Как предотвратить java.lang.OutOfMemoryError: пространство PermGen при компиляции Scala?
- Как добавить «предоставленные» зависимости обратно в путь classа run / test tasks?
- как мне получить sbt для использования локального репозитория прокси-сервера maven (Nexus)?
- Значения символов Build.scala,% и %%
- Как добавить конфигурацию профиля среды для SBT
- Как построить Uber JAR (FAT JAR) с использованием SBT в IntelliJ IDEA?
Основной class должен быть полностью укомплектован пакетом:
Compile/mainClass := Some("myPackage.aMainClass")
Это будет работать для запуска, и он будет устанавливать Main-Class в манифесте при использовании задачи пакета. Основной class для этих задач может быть задан отдельно, как в:
mainClass in (Compile, run) := Some("myPackage.aMainClass") mainClass in (Compile, packageBin) := Some("myPackage.anotherMainClass")
Заметка:
mainClass := Some("myPackage.aMainClass")
ничего не делает. Если вы поместите это в свой файл сборки, вы не получите предупреждения о том, что он ничего не делает.
Насколько я знаю, sbt
ожидает здесь полностью квалифицированного имени classа / объекта в вашем проекте. Например, если ваш основной class выглядит следующим образом:
package prog object Main extends App { // Hic sunt dracones }
то вам придется отдать свой основной class следующим образом:
mainClass := Some("prog.Main")
Вы получаете ошибку типа, потому что этот тип не просто найден.