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