Настройка проекта Scala Lift в Eclipse - PullRequest
4 голосов
/ 13 ноября 2011

Я пытаюсь настроить свой первый проект подъема скалы в Eclipse, и это не просто (TM).

Что я сделал, так это настроил проект Maven со следующим

mvn archetype:generate -U \
-DarchetypeGroupId=net.liftweb \
-DarchetypeArtifactId=lift-archetype-basic_2.9.1 \
-DarchetypeVersion=2.4-SNAPSHOT \
-DarchetypeRepository=http://scala-tools.org/repo-releases \
-DgroupId=demo.helloworld -DartifactId=helloworld -Dversion=1.0-SNAPSHOT

Затем я создал проект eclipse с помощью mvn eclipse:eclipse (потому что адски вычислять все зависимости и вручную добавлять их в путь сборки)

Проект конфликтует с установленной версией Scala. Поэтому я удалил три существующие ссылки на scalalang из пути сборки и добавил свою собственную scala в путь сборки. Я использую scala 2.9.0.

Теперь проект можно построить, но когда я пытаюсь запустить RunWebApp, выдается исключение:

Exception in thread "main" java.lang.NoClassDefFoundError: RunWebApp
Caused by: java.lang.ClassNotFoundException: RunWebApp
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: RunWebApp. Program will exit.

Мне известен ответ по проекту Scala-Lift в Eclipse. Ошибки Scala IDE , в котором предлагается задать вопрос по http://groups.google.com/group/scala-ide-user, но я надеялся, что кто-то здесь может указать мне на ответ в как кто-то другой с такой же проблемой может найти ответ тоже

Ответы [ 4 ]

5 голосов
/ 13 ноября 2011

Я советую вам использовать лифт с SBT.Вы можете найти шаблон проекта здесь https://github.com/viktortnk/lift-quickstart с sbt 0.11.2 и лифтом 2.4Он также включает плагин sbt eclipse для работы в scala-ide.Я надеюсь, что это поможет вам.

3 голосов
/ 13 ноября 2011

Я обнаружил, что если вы используете sbt 0.11 и плагин sbteclipse, он делает всю магию за вас.

https://github.com/harrah/xsbt

https://github.com/typesafehub/sbteclipse

2 голосов
/ 08 февраля 2013

Я знаю, что этот вопрос старый, но он довольно часто встречается в результатах поиска, поэтому я хотел добавить обновленный ответ.

Последняя версия Scala IDE (2.1 M3) становится довольно хорошей, как и maven интеграции. У меня есть демонстрационный проект с открытым исходным кодом:

https://github.com/awkay/lift_squeryl_demo

, который дает инструкции по настройке затмения со следующими функциями:

  • Просто импортируйте проект лифта, основанный на этом помпе (который использует Scala 2.9 / Lift 2.5) как «Существующий проект Maven». Готово. Больше некуда бежать. Нет файлов SBT для генерации. Нет файлов проекта затмения для генерации ... это просто работает.
  • Отличная поддержка scala, в том числе основные моменты, важные отладки на уровне исходного кода
  • Поддержка сервера веб-инструментов (запустите / отладьте ваше веб-приложение на вкладке серверов eclipse)
  • Поддержка JRebel для перезагрузки класса «на лету» (для этого есть бесплатная лицензия!)
  • Типичная поддержка maven для сборок и упаковки из командной строки
  • Возможность использовать любое количество веб-приложений Java в одном экземпляре tomcat в случаях, когда вам приходится сталкиваться с интеграцией приложений.

Результатом является опыт, который вообще не требует взаимодействия с командной строкой, и включает в себя сверхбыструю веб-разработку edit-save-reload. Это действительно дает вам динамичный опыт развития языка.

1 голос
/ 15 ноября 2011

Я не знаю, является ли это вашей проблемой, но иногда вам нужно убедиться, что библиотека Scala появляется до библиотеки JRE в classpath проекта (или запустить конфигурацию, используемую для выполнения это).

http://www.assembla.com/spaces/scala-ide/tickets/1000119-classnotfoundexception-trying-to-run-scala-app-in-helios

...