WebプロジェクトのLIFT設定:mvnで生成し、sbtで管理する

私はLIFTの初心者です.Laven Webプロジェクトをmavenとsbtでそれぞれ生成し管理するための信頼できる方法を見つけることを試みています。誰かがmaven生成プロジェクトのためにsbtをセットアップする方法を最新の指示に(またはここで)私に指示してもらえますか?私が赤色にしたすべての記事から、LIFTプロジェクトのための最適な設定のように見えます:mvnで生成し、sbtで管理します。同意しますか? (私はLIFT/Webプロジェクトをsbtで生成することはできません.SBTはそれを管理するためにのみ有効です。)私が試したすべての手順は古くなっています。 (私は明らかにアーキタイププロジェクトをダウンロードしてアンタッチすることができますが、環境を管理するためのより基本的なアプローチを探しています)ありがとうございました。

2

2 答え

While I'm using lift I don't need a maven at all, just SBT. So, it is very useful to read SBT Getting Started section. Also lift wiki contains some information. But be sure that you read material related to the proper SBT version. And finally, you can pay attention to my lift project template on github.
Good Luck with Lift! It's awesome ;)

By following question in you comment I put here some common config from my projects.
So, that is ./project/build.scala as alternative to ./build.sbt

import sbt._
import Keys._
import com.github.siasia._
import PluginKeys._
import WebPlugin._
import WebappPlugin._

object LiftProjectBuild extends Build {
  override lazy val settings = super.settings ++ buildSettings

  lazy val buildSettings = Seq(
    organization := "com.yourorganization",
    version      := "0.1-SNAPSHOT",
    scalaVersion := "2.9.1")

  def yourWebSettings = webSettings ++ Seq(
   //If you are using jrebel
    scanDirectories in Compile := Nil
    )

  lazy val shade = Project(
    id = "project-name",
    base = file("."),
    settings = defaultSettings ++ yourWebSettings)

  lazy val defaultSettings = Defaults.defaultSettings ++ Seq(
    name := "project-name",
    resolvers ++= Seq(
      "Typesafe Repo" at "http://repo.typesafe.com/typesafe/releases", 
      "Java.net Maven2 Repository" at "http://download.java.net/maven/2/"),

    libraryDependencies ++= {
      val liftVersion = "2.4-M5"
      Seq(
        "net.liftweb" %% "lift-webkit" % liftVersion % "compile",
        "org.eclipse.jetty" % "jetty-webapp" % "7.5.4.v20111024" % "container",
        "org.squeryl" %% "squeryl" % "0.9.5-SNAPSHOT" % "compile",
        "ch.qos.logback" % "logback-classic" % "1.0.0" % "compile",
        "org.scalatest" %% "scalatest" % "1.6.1" % "test",
        "junit" % "junit" % "4.10" % "test")
    },

   //compile options
    scalacOptions ++= Seq("-encoding", "UTF-8", "-deprecation", "-unchecked"),
    javacOptions  ++= Seq("-Xlint:unchecked", "-Xlint:deprecation"),

   //show full stack traces
    testOptions in Test += Tests.Argument("-oF")
  )
}

./project/build.properties

#Project properties
sbt.version=0.11.1

./project/plugins.sbt

resolvers += Classpaths.typesafeResolver

addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse" % "1.5.0")

libraryDependencies <+= sbtVersion(v => "com.github.siasia" %% "xsbt-web-plugin" % (v+"-0.2.10"))

Having these three files are enough to configure sbt.
And of course you can run your application by calling container:start

3
追加された
それはよかった
追加された 著者 viktortnk,
ご意見ありがとうございます。私は以下のリンクからBuild.scalaを使って完全な設定例を追ってみました。 stackoverflow.com/questions/7056635/… 私はその例を単純化し、サブプロジェクトなしで設定しようとしましたが、次のメッセージがあります:... java.lang.IllegalArgumentException: 'org.mortbay.jetty#jetty; 6.1.26'の依存関係を 'jetty'に追加できませんモジュールxbaz#foo-http_2.9.0-1; 0.0.1この設定が存在しないため! Full Configurationを試したことがありますか?どうもありがとう。
追加された 著者 vlr,
レース、あなたは私の一日を作った。ありがとう。
追加された 著者 vlr,
あなたが始めたときに、SBT git clone git://github.com/tjweir/pocketchangeapp.gitでこのプロジェクトを実行しようとしましたか?それはmvnで私のために働いていますが、あなたの設定ファイルをSBTで実行するように調整できませんでした。コンパイル時に一定のエラーが発生する(マッパー関連のエラーなど)
追加された 著者 vlr,

あなたの走行距離は変わるかもしれませんが、sbtに関する私の経験は恒常的ではありません(期限切れのドキュメント、バージョン変更の破損など)。 eclipse scala IDEとそれに対応するmavenとjrebelプラグインの最近の改良により、sbtを使用した場合よりも明らかな勝者となりました。

指示に従えば、コマンドラインでビルド/パッケージ化することができますが、Eclipseの機能と高速開発のための優れたサポートが得られます。

以下のサンプルプロジェクトの設定を参照してください。

https://github.com/awkay/lift_squeryl_demo

0
追加された