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
всякий раз, когда я начинаю новый проект.