Разработка веб-приложения Scala / Lift с использованием Eclipse и Tomcat - PullRequest
8 голосов
/ 17 сентября 2010

Итак, я провел последние 11 часов, пытаясь заставить даже простейшее приложение Scala / Lift работать на Tomcat через Eclipse.Очевидно, никто не пытается сделать это, или это самая легкая вещь в мире, поэтому никто не задокументировал, как они это сделали.Создание кода с использованием архетипа maven и запуск его с помощью mvn tomcat: run - не проблема.Заставить все это работать через Eclipse - другая история.Я скажу, что это моя первая попытка сделать что-нибудь с Maven в Eclipse, который не помог никому.Я пробовал и m2eclipse и eclipse-IAM.Если бы кто-нибудь мог провести меня через процесс от начала до конца или указать мне ресурсы, которые могут, это было бы здорово.Спасибо.


Версия / Ошибка Подробности

Scala 2.8 с Lift 2.1

Если я использую Scala 2.8 с Lift 2.1 (?) Сeclipse 3.5.2, scala-ide и eclipse-iam, мой файл pom.xml сообщает мне следующее:

Ошибка: ошибка при разрешении версии для 'org.scala-tools: maven-scala-plugin': Для плагина требуется Maven версии 2.2.1

Я создал проект из мастера создания проектов Maven, используя это определение архетипа:

<archetype>
    <groupId>net.liftweb</groupId>
    <artifactId>lift-archetype-blank_2.8.0</artifactId>
    <version>2.1-SNAPSHOT</version>
    <repository>http://scala-tools.org/repo-snapshots</repository>
    <description>Shawn's Custom Thinger</description>
</archetype>

Из того, что я понимаю, проблема здесьдля файла pom.xml, созданного из 2.1-SNAPSHOT, требуется Maven 2.2.1, но eclipse-iam пока не использует эту версию.Мне не удалось найти способ использовать Maven v2.2.1, который я установил сам.Возможно, eclipse-iam не позволяет использовать внешнюю установку maven.

Другие попытки

Я пробовал создавать проекты с таким архетипом:

<archetype>
    <groupId>net.liftweb</groupId>
    <artifactId>lift-archetype-jpa-blank</artifactId>
    <version>1.1-SNAPSHOT</version>
    <repository>http://scala-tools.org/repo-snapshots</repository>
    <description>Archetype - blank JPA project for Lift</description>
</archetype>

Однако затем я получаю ошибки времени выполнения от Tomcat для ошибки ClassNotFound для моего класса bootstrap.liftweb.Boot.Тем не менее, я вижу, что maven создал класс загрузки по умолчанию для меня.

m2eclipse

Я получил проект без ошибок, используя m2eclipse, но у меня были проблемы с получениемэто развернуто на Tomcat.Я намерен вернуться к этому, так как мне любопытно, удалось ли мне запустить один проект, но у меня возникла проблема с учетом регистра в URL, когда я попробовал.Однако этот процесс был гораздо более ручным.Я бы предпочел решение eclipse-iam, если возможно, но возьму то, что смогу получить в этот момент.

Ответы [ 5 ]

2 голосов
/ 07 февраля 2011

Я не могу начать описывать мое разочарование по той же проблеме.Наконец, единственный документ, который работал для меня, - это: http://www.spenceruresk.com/2010/10/developing-with-lift-in-eclipse/

Я думаю, что плагин m2eclipse-scala имел значение.

2 голосов
/ 17 сентября 2010

Зачем вам запускать ваше веб-приложение через Eclipse?Не проще ли запустить его с помощью плагина Maven Tomcat (mvn tomcat:run) с включенной отладкой (JPDA)?А затем подключиться к нему с помощью удаленного отладчика Eclipse?

ИМХО, это самый простой, гибкий и универсальный способ запуска / отладки приложений JVM, созданных с помощью Maven.

См. Также - Лучший способ отладки веб-приложения Java, упакованного как WAR, с использованием Eclipse и Maven? .

1 голос
/ 29 сентября 2010

Может быть, вы можете отредактировать "test / scala / RunWebApp.scala" от пристани до кота. С моим опытом, после "mvn eclipse: eclipse" для создания файлов проекта. В Eclispe просто запустите «test / scala / RunWebApp.scala» с «Debug As ...», больше не нужно JRebel или maven.

0 голосов
/ 22 сентября 2010

Класс не найден звучит как война (взорванная или нет) не содержит банку скала или, возможно, лифтовую банку.

0 голосов
/ 17 сентября 2010

Вы сможете создать собственный проект Eclipse, запустив mvn eclipse:eclipse. Это работало относительно хорошо в последний раз, когда я попробовал это. Обратите внимание, что для Eclipse вам понадобится плагин scala.

...