4

github.comからダウンロードしたサンプルのLiftフレームワークを使用しています。Scala2.9.1はその中のバージョンです。サーバーを起動するためにcmdでContainer:startコマンドを使用していますが、localhost:8080でアプリを確認できます。しかし、私はEclipseにscala2.10.0をインストールしました。プロジェクトをEclipseIDEと統合すると、localhost:8080にエラーが表示されます。何が問題ですか?

私は持ってbuild.sbtいます:

name := "Lift 2.5 starter template"

version := "0.0.1"

organization := "net.liftweb"

scalaVersion := "2.9.1"

resolvers ++= Seq("snapshots"     at      "http://oss.sonatype.org/content/repositories/snapshots",
            "releases"        at "http://oss.sonatype.org/content/repositories/releases"
            )

seq(com.github.siasia.WebPlugin.webSettings :_*)

unmanagedResourceDirectories in Test <+= (baseDirectory) { _ / "src/main/webapp" }

scalacOptions ++= Seq("-deprecation", "-unchecked")

libraryDependencies ++= {
  val liftVersion = "2.5-RC2"
  Seq(
    "net.liftweb"       %% "lift-webkit"        % liftVersion        % "compile",
    "net.liftweb"       %% "lift-mapper"        % liftVersion        % "compile",
    "net.liftmodules"   %% "lift-jquery-module" % (liftVersion + "-2.2"),
    "org.eclipse.jetty" % "jetty-webapp"        % "8.1.7.v20120910"  % "container,test",
    "org.eclipse.jetty.orbit" % "javax.servlet" % "3.0.0.v201112011016" % "container,test"  artifacts Artifact("javax.servlet", "jar", "jar"),
    "ch.qos.logback"    % "logback-classic"     % "1.0.6",
    "org.specs2"        %% "specs2"             % "1.12.1"           % "test",
    "com.h2database"    % "h2"                  % "1.3.167"
  )
}

projects/plugins.sbtでEclipseと統合しました

 addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.1.0")
4

1 に答える 1

2

Eclipseを更新するには、2.10で動作するようにScalaIDEプラグインを更新する必要があります。 http://download.scala-ide.org/sdk/e37/scala210/dev/site/

build.sbtまたはに次のようplugin.sbtな行が含まれている場合:

scalaVersion := "2.10.0"

SBTはその行を見つけて解釈し、タイプセーフリポジトリ用の2.10Scalaコンパイラと2.10Scalaライブラリを自動的にダウンロードします。これは、タイプセーフリゾルバーにあります。これは通常~/.sbt/、のようにグローバルリゾルバーとして追加されますresolvers += Classpaths.typesafeResolver

ビルド定義内の行でプロジェクトをコンパイルしscalaVersion := "2.10.0"(プラグインについても同じです)、Scala 2.10がインストールされていないか、パスにない場合、SBTはタイプセーフリゾルバーから自動的にダウンロードし、ダウンロードしたファイルを ~/.sbt/boot/scala-2.10.0/lib/、次のファイルがあります。

jansi.jar, jline.jar, scala-compiler.jar, scala-library.jar, scala-reflect.jar

これはbuild.sbt、元々Scala 2.9.2で作成され、2.10にアップグレードされたlift2.5M3アプリケーションの構成例です。

name := "secret"

version := "0.1-SNAPSHOT"

scalaVersion := "2.10.0"

seq(com.github.siasia.WebPlugin.webSettings :_*)

seq(jrebelSettings: _*)

jrebel.webLinks <++= webappResources in Compile

resolvers ++= Seq(
    "Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots",
    "Sonatype releases" at "https://oss.sonatype.org/content/repositories/releases",
    "Scala 2.10 support for rogue" at "https://github.com/mattpap/rogue/"
)

libraryDependencies ++= {
    val liftVersion = "2.5-M4"
    Seq(
      "com.foursquare" %% "rogue-field" % "2.0.0-beta22",
      "com.foursquare" %% "rogue-core" % "2.0.0-beta22",
      "com.foursquare" %% "rogue-lift" % "2.0.0-beta22",
      "net.liftweb" %% "lift-webkit" % liftVersion % "compile",
      "net.liftweb"    %% "lift-mongodb-record" % "2.5-M4",
      "com.mongodb.casbah" % "casbah_2.9.0" % "2.2.0-SNAPSHOT",
      "org.specs2" %% "specs2" % "1.12.3" % "test"
     )
}

classpathTypes ~= (_ + "orbit")

libraryDependencies ++= Seq(
  "org.eclipse.jetty.orbit" % "javax.servlet" % "3.0.0.v201112011016" % "container" artifacts (Artifact("javax.servlet", "jar", "jar")
  )
)

libraryDependencies ++= Seq(
  "org.eclipse.jetty" % "jetty-webapp" % "8.1.7.v20120910" % "container" artifacts (Artifact("jetty-webapp", "jar", "jar")
  )
) 

port in container.Configuration := 5555

EclipseKeys.withSource := true

これがplugins.sbtファイルです。これはPROJECTROOT/project/plugins.sbtにあるはずです。

libraryDependencies <+= sbtVersion(v => v match {
  case "0.11.0" => "com.github.siasia" %% "xsbt-web-plugin" % "0.11.0-0.2.8"
  case "0.11.1" => "com.github.siasia" %% "xsbt-web-plugin" % "0.11.1-0.2.10"
  case "0.11.2" => "com.github.siasia" %% "xsbt-web-plugin" % "0.11.2-0.2.11"
  case "0.11.3" => "com.github.siasia" %% "xsbt-web-plugin" % "0.11.3-0.2.11.1"
  case x if (x.startsWith("0.12")) =>
    "com.github.siasia" %% "xsbt-web-plugin" % "0.12.0-0.2.11.1"
})

resolvers += "Jawsy.fi M2 releases" at "http://oss.jawsy.fi/maven2/releases"

addSbtPlugin("fi.jawsy.sbtplugins" %% "sbt-jrebel-plugin" % "0.9.0")

これがグローバルプラグインファイルです。これは〜/ .sbt / plugins / plugins.sbtにあるはずです。ここに何かを入れると、システム全体のすべてのSBTプロジェクトにロードされます。もちろん、これはあなたのマシンを表すだけです。

resolvers += Classpaths.typesafeResolver

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

resolvers += "jgit-repo" at "http://download.eclipse.org/jgit/maven"

addSbtPlugin("com.typesafe.sbt" % "sbt-git" % "0.5.0")

addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.2.0")

resolvers += "Jawsy.fi M2 releases" at "http://oss.jawsy.fi/maven2/releases"

addSbtPlugin("fi.jawsy.sbtplugins" %% "sbt-jrebel-plugin" % "0.9.0")
于 2013-03-14T11:21:43.633 に答える