Ensime отладка с JDB не загружает классы проекта - PullRequest
3 голосов
/ 28 августа 2011

Я использую Ensime для проекта sbt. Когда я запускаю ensime-db-start в модульном тесте под src/test/scala/<pkg>.../Myclass.scala, я не могу установить точку останова, и тогда я сразу получаю ClassNotFoundException:

VM Started: 
Exception occurred: java.lang.ClassNotFoundException (uncaught)"thread=main", java.net.URLClassLoader$1.run(), line=202 bci=73

Выдача classpath после этой ошибки показывает, что класс находится в пути к классам.

В связанной заметке я также не могу установить точку останова перед выполнением команды запуска с использованием последовательности C-c C-d b . Я получаю

не удалось найти информацию о классе для данного разрешения

Возможно, я не понимаю, как Ensime запускает JVM - любые указатели приветствуются.

Я могу запустить модульный тест изнутри sbt, и я могу запустить класс из-под src/main/scala/...

Я использую ensime 0.10.1 и jdk 1.6.0_26.

import sbt._
import Keys._

object BuildSettings {
  val buildOrganization = "bmf"
  val buildVersion      = "1.0.0"
  // val buildScalaVersion = "2.9.0-1"

  val buildSettings = Defaults.defaultSettings ++ Seq (
    organization := buildOrganization,
    version      := buildVersion
  )
}


object MyBuild extends Build
{
   import BuildSettings._

   val junitdep = "junit" % "junit" % "4.8" % "test"
   val scalatestdep = "org.scalatest" % "scalatest" % "1.3" % "test"
   val commonDeps = Seq(junitdep, scalatestdep)
   javacOptions += "-g"

   lazy val common = Project (
    "main",
    file ("."),
    settings = buildSettings ++ Seq (libraryDependencies ++= commonDeps)
  )

}
...