我只想用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文件中,我必须使用切换到行来强制创建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发布于 2012-12-03 06:49:50
因为到目前为止我还没有得到任何想要的答案,所以我倾向于使用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一切都和我预期的一样。
发布于 2012-11-25 07:46:52
为什么要让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。
https://stackoverflow.com/questions/13545120
复制相似问题