Статьи

Настройка Liftweb за 10 минут — IDE и конфигурация проекта

Scala — один из самых крутых языков программирования, а Lift — революционная веб-инфраструктура, которая действительно использует многие функции scala.

Но это может быть пугающим с самого начала, даже просто настроить ваше рабочее пространство. В этой статье я рассмотрю основные настройки вашей IDE, это действительно займет несколько минут!

Несмотря на то, что я всегда был человеком Eclipse, я использую IDEA IntelliJ со Scala, потому что я считаю, что это намного лучше. Хорошо, начнем. Вам понадобится IntelliJ 10.5.1, Maven или SBT.

Создать проект с Maven

Первым шагом является создание проекта, для этого мы будем использовать лифт-Maven архетип. Для персистентного слоя мы будем использовать лифт-картограф по умолчанию. Запустите эту команду

mvn archetype:generate   -DarchetypeGroupId=net.liftweb   
-DarchetypeArtifactId=lift-archetype-basic_2.8.1
-DarchetypeVersion=2.3
-DarchetypeRepository=http:/scala-tools.org/repo-snapshots
-DremoteRepositories=http://scala-tools.org/repo-snapshots
-DgroupId=com.playamatch -DartifactId=web

Вы также можете создать проект на основе JPA, выполнив ту же команду с

archetypeArtifactId=lift-archetype-jpa-basic_2.8.1

У вас уже есть полный проект liftweb! Вы даже можете запустить его с самим Maven с помощью команды

mvn jetty-run

Скачать и настроить IntelliJ

Затем откройте IntelliJ и установите плагин Scala. Вам нужно перейти в Файл -> Настройка. Здесь вы можете получить доступ ко всем параметрам конфигурации. Эквивалент Window -> Preferences в Eclipse.

Теперь перейдите к плагинам, выберите scala, щелкните правой кнопкой мыши «Download and Install» и перезапустите IDE.

Вы должны быть в состоянии увидеть свой код с подсветкой синтаксиса и уже перемещаться по классам. Если вы хотите, вы также можете скачать плагин SBT для IDEA. В этом уроке я буду использовать командную строку.

Еще одно изменение конфигурации, которое вы, возможно, захотите сделать, если вы идете из Eclipse, если ярлыки. IDEA поставляется с профилем затмения, который позволит вам продолжать использовать все удобные ярлыки, которые вы изучили до сих пор.

Настроить SBT

Я бы порекомендовал использовать SBT для ваших проектов с помощью компилятора scala очень быстро (да и очень быстро;)) Здесь я использую SBT 0.10.1

Вам нужно создать build.sbt в корневой папке проекта. Вот как выглядит моя, это в значительной степени стандартные зависимости.

/build.sbt

name := "liftplay"

scalaVersion := "2.8.1"

seq(webSettings: _*)



// If using JRebel uncomment next line
//jettyScanDirs := Nil


resolvers += "Java.net Maven2 Repository" at "http://download.java.net/maven/2/"


libraryDependencies ++= {

val liftVersion = "2.3" // Put the current/latest lift version here

Seq(

"net.liftweb" %% "lift-webkit" % liftVersion % "compile->default",

"net.liftweb" %% "lift-mapper" % liftVersion % "compile->default",

"net.liftweb" %% "lift-wizard" % liftVersion % "compile->default")

}



// Customize any further dependencies as desired

libraryDependencies ++= Seq(

"org.eclipse.jetty" % "jetty-webapp" % "7.3.0.v20110203" % "jetty", // For Jetty 7

//"org.mortbay.jetty" % "jetty" % "6.1.22" % "jetty,test", // For Jetty 6, add scope test to make jetty avl. for tests

"org.scala-tools.testing" % "specs_2.9.0" % "1.6.8" % "test", // For specs.org tests

"junit" % "junit" % "4.8" % "test->default", // For JUnit 4 testing

"javax.servlet" % "servlet-api" % "2.5" % "provided->default",

"com.h2database" % "h2" % "1.2.138", // In-process database, useful for development systems

"ch.qos.logback" % "logback-classic" % "0.9.26" % "compile->default" // Logging

)


 

Затем создайте еще один файл в разделе project / plugins (создайте эти папки в корневом каталоге проекта, если у вас их нет) и снова вызовите build.sbt.

/project/plugins/build.sbt

resolvers ++= Seq(

"Web plugin repo" at "http://siasia.github.com/maven2",

Resolver.url("Typesafe repository", new java.net.URL("http://typesafe.artifactoryonline.com/typesafe/ivy-releases/"))(Resolver.defaultIvyPatterns)

)



//Following means libraryDependencies += "com.github.siasia" %% "xsbt-web-plugin" % "0.1.0-""

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

последний файл — это build.properties в папке проекта

/project/build.properties

project.organization=com.playamatch
project.name=liftplay
project.version=1.0-SNAPSHOT
sbt.version=0.10.1
def.scala.version=2.8.1
build.scala.versions=2.8.1
project.initialize=false

Вот и все. Все, что вам нужно сделать сейчас, это обновление, чтобы загрузить все зависимости

Получить зависимости и запустить приложение

sbt update

и тогда вы можете запустить свое новое приложение

sbt ~jetty-run

Включить отладку для вашего приложения

Если вы хотите отладить ваше приложение, просто добавьте следующее в ваш скрипт sbt

Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005

и затем создайте удаленную конфигурацию отладки приложения от Выполнения -> Редактировать конфигурации. Сначала проверьте, что ваши значения по умолчанию, как это, затем нажмите на знак плюс

и назовите свою конфигурацию пробега!

Удачного кодирования !!!

От http://www.devinprogress.info/2011/08/liftweb-setup-in-10-minutes-ide-and.html