1

我试图让一个围绕 Eclipse、SBT 和 Lift 运行的 mac 开发环境。一旦安装得尽可能接近正确,我就可以从 sbt 运行该应用程序,但 Eclipse 仍然会报告问题。

  • Eclipse 是 Eclipse SDK 的 Scala IDE 构建,构建 ID:3.0.1-vfinal-20130711-0941-Typesafe。
  • SBT 已安装 macport:sbt @0.12.3_1
  • Lift 是最新的 2.5 zip(来自页面。)

本教程用于初步指导。但是,本教程适用于较早版本的 Lift 和相关依赖项,包括 sbt-eclipse 插件。我登陆的是 2.2 版的 eclipse 插件,在我~/.sbt/plugin/build.sbt的单行代码中:

addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.2.0")

根据教程说明,我正在提取源文件(特别是 Lift 的 lift_basic 项目)并将我的项目 build.sbt 修改为以下内容:

name := "sample project"

organization := "com.nford"

version := "0.1-SNAPSHOT"

scalaVersion := "2.10.1"

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

libraryDependencies ++= {
        val liftVersion = "2.5"
        Seq(
                "net.liftweb" %% "lift-webkit" % liftVersion % "compile",
                "net.liftweb" %% "lift-mapper" % liftVersion % "compile",
                "org.mortbay.jetty" % "jetty" % "6.1.26" % "test",
                "junit" % "junit" % "4.7" % "test",
                "ch.qos.logback" % "logback-classic" % "0.9.26",
                "org.scala-tools.testing" %% "specs" % "1.6.9" % "test",
                "com.h2database" % "h2" % "1.2.147"
        )
}

将项目导入 Eclipse 工作正常,除了 20 个错误,主要是围绕测试用例。这些包括但不限于:

object eclipse is not a member of package org
not found: value JQueryModule

像这样的谷歌搜索错误我看到了很多一年前的东西,主要是因为包不匹配。通过这项研究,我能够做出一些改变(反映在上面的 build.sbt 等):

  • 升级 Scala 版本到 2.10.1
  • 将电梯版本升级到 2.5
  • 使用 sbt-eclipse 2.2 插件

然而我仍然收到这些错误。验证; 我已经从 sbt 终端控制台更新,并从那里运行 eclipse 构建。在那之后,我将项目导入了 Eclipse。我无法确定包不匹配的来源(或者实际上为什么无法发现它们,因为它们存在于系统中并且 sbt 可以找到它们)。这是 Eclipse IDE 插件的弱点,还是可以解决的问题?或者,在我对 Scala Lift 明显陌生的情况下,我是否遗漏了一些非常明显的东西?

4

1 回答 1

1

JQueryModule 不是 Lift 的一部分。您需要添加:

"net.liftmodules" %% "lift-jquery-module_2.5" % "2.3"

码头:

"org.eclipse.jetty"       %  "jetty-webapp"      % "8.1.7.v20120910"       %  "container,compile",
"org.eclipse.jetty"       % "jetty-servlets"     % "8.1.7.v20120910"       %  "container,compile",
"org.eclipse.jetty.orbit" %  "javax.servlet"     % "3.0.0.v201112011016"   %  "container,compile" artifacts Artifact("javax.servlet", "jar", "jar")

规格2:

"org.specs2"              %% "specs2"            % "1.14"   
于 2013-08-01T23:26:21.763 回答