sbteclipse не создает проект Scala по умолчанию?

Я просто хочу создать макет каталога для моего проекта scala с помощью sbt и sbteclipse. Следующее - мой файл sbt.

import com.typesafe.sbteclipse.plugin.EclipsePlugin.EclipseKeys

name := "BGS"

organization := "com.example"

version := "1.0.0"

scalaVersion := "2.9.2"

scalacOptions ++= Seq("-deprecation")

EclipseKeys.createSrc := EclipseCreateSrc.Default + EclipseCreateSrc.Resource

EclipseKeys.projectFlavor := EclipseProjectFlavor.Scala

scalaSource in Compile <<= (sourceDirectory in Compile)(_ / "scala")

scalaSource in Test <<= (sourceDirectory in Test)(_ / "scala")

libraryDependencies += "org.scalatest" %% "scalatest" % "1.8" % "test"

libraryDependencies += "junit" % "junit" % "4.10" % "test"

unmanagedBase <<= baseDirectory { base => base / "lib" }

unmanagedJars in Compile <<= baseDirectory map { base => (base ** "*.jar").classpath }

В этом файле sbt мне пришлось использовать сгибание к строкам для принудительного создания каталогов Scala:

scalaSource in Compile <<= (sourceDirectory in Compile)(_ / "scala")

scalaSource in Test <<= (sourceDirectory in Test)(_ / "scala")

Кроме того, после запуска eclipse из консоли sbt я импортировал проект в Eclipse, но не смог создать класс Scala. К значку проекта Eclipse прикреплена буква "J", указывающая, что это проект Java:-?

Почему sbt и sbteclipse по умолчанию используют Java?

Я использую версию sbt 0.12 (последняя версия от ноября 2012 г.), scala 2.9.2

Для вашей информации я собираюсь использовать sbt для создания рабочего проекта со следующей структурой каталогов:

├── build.sbt
├── lib
│   ├── biojava3-core-3.0.4.jar
├── project
│   ├── plugins.sbt
│   ├── project
│   │   └── target
│   └── target
│       ├── config-classes
│       ├── scala-2.9.2
│       └── streams
├── src
│   ├── main
│   │   ├── java
│   │   ├── resources
│   │   └── scala
│   └── test
│       ├── java
│       ├── resources
│       └── scala
├── target
│   ├── scala-2.9.2
│   │   ├── cache
│   │   ├── classes
│   │   └── test-classes
│   └── streams
│       └── compile
└── test

2 ответа

Решение

Пока у меня нет желаемых ответов, я вхожу в стек Typesafe. Я удалил установленные вручную scala и sbt, и я использую все из Typesafe Stack. Я буду обновлять больше, когда я закончу тестирование таким способом.

Вот последнее обновление, как я и обещал:

Я следовал инструкциям в этой ссылке, и она отлично работала: http://typesafe.com/resources/typesafe-stack/downloading-installing.html

Подробная информация на случай, если кто-то захочет подписаться на Mac OSX:

По сути, я сначала переключил macport на homebrew, выполнив следующую инструкцию:

http://bitboxer.de/2010/06/03/moving-from-macports-to-homebrew/

Тогда я сделал:

brew install scala sbt maven giter8

Затем создайте проект Scala из командной строки:

g8 typesafehub/scala-sbt

Наконец, я следовал инструкции, чтобы добавить sbteclipse и преобразовать проект в eclipse:

https://github.com/typesafehub/sbteclipse

Все работает как я ожидаю.

Почему вы хотите, чтобы Sbt создал этих директоров? почему бы не создать их самостоятельно. Это разовое событие.

Вам не нужно ни одной из следующих строк

EclipseKeys.createSrc := EclipseCreateSrc.Default + EclipseCreateSrc.Resource

EclipseKeys.projectFlavor := EclipseProjectFlavor.Scala

scalaSource in Compile <<= (sourceDirectory in Compile)(_ / "scala")

scalaSource in Test <<= (sourceDirectory in Test)(_ / "scala")

Я обычно просто делаю mkdir -p src/main/scala всякий раз, когда я начинаю новый проект.

Другие вопросы по тегам