sbteclipse默认不创建Scala项目?

时间:2012-11-24 20:09:57

标签: scala sbt sbteclipse

我只想用sbt和sbteclipse为我的scala项目创建一个目录布局。以下是我的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文件中,我不得不使用folling to lines来强制创建Scala目录:

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

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

此外,在从sbt控制台运行“eclipse”后,我将项目导入Eclipse,但我无法创建Scala类。 Eclipse项目图标附有“J”字母,表示它是一个Java项目: - ?

为什么sbt和sbteclipse默认为Java?

我正在运行sbt版本0.12(截至2012年11月的最新版本),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 个答案:

答案 0 :(得分:1)

由于到目前为止我还没有得到任何理想的答案,我正趋向于Typesafe Stack。我删除了手动安装的scala和sbt,我正在使用Typesafe Stack中的所有内容。当我用这种方式进行测试时,我会更新更新。

这是我承诺的最终更新:

我按照此链接中的说明进行操作,效果很好: http://typesafe.com/resources/typesafe-stack/downloading-installing.html

有关人们想要关注Mac OSX的详细信息:

基本上,我首先按照以下说明将macport切换到自制程序:

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

一切都按照我的预期运作。

答案 1 :(得分:0)

为什么要让sbt创建这些导演?为什么不jsut自己创造它们。这是一次性活动。

您不需要以下任何一行

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