在sbt / Eclipse中提升-2.5构建问题

时间:2013-08-01 22:40:43

标签: eclipse scala sbt lift

我正在尝试围绕Eclipse,SBT和Lift运行mac开发环境。一旦安装到我能够管理的附近,我可以从sbt运行应用程序,但Eclipse仍然会报告问题。

  • Eclipse是Eclipse SDK的Scala IDE版本,Build id: 3.0.1-vfinal-20130711-0941-类型安全。
  • SBT已安装macport:sbt @ 0.12.3_1
  • Lift是最新的2.5 zip(来自Thisthis page。)

This tutorial用于初步指导。但是,本教程适用于稍早版本的Lift和相关依赖项,包括sbt-eclipse插件。我登陆的是eclipse插件的2.2版本,在我的~/.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的明显新见中,我错过了一些非常明显的东西吗?

1 个答案:

答案 0 :(得分: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")

Specs2:

"org.specs2"              %% "specs2"            % "1.14"