我正在尝试在Eclipse中设置我的第一个scala lift项目,它是Not Simple(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
然后我使用mvn eclipse:eclipse
创建了一个eclipse项目(因为找出所有依赖项并将它们全部添加到构建路径中是很糟糕的)
然后该项目与已安装的Scala版本冲突。所以我从buildpath中删除了对scalalang的三个现有引用,并将我自己的scala添加到buildpath中。我正在使用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 project in Eclipse Scala IDE errors建议在http://groups.google.com/group/scala-ide-user上提出问题的答案,但我希望有人能够以某种方式指出我的答案,其他有同样问题的人可能会找到答案回答
答案 0 :(得分:5)
我建议你用sbt升降机。您可以在此处找到模板项目https://github.com/viktortnk/lift-quickstart,其中包含sbt 0.11.2和提升2.4
它还包括sbt eclipse插件,可以在scala-ide中使用。
我希望它会对你有所帮助。
答案 1 :(得分:3)
我发现如果你使用sbt 0.11和sbteclipse插件,它会为你带来所有的魔力。
答案 2 :(得分:2)
我知道这个问题很老,但搜索结果却很高,所以我想添加一个更新的答案。
最新的Scala IDE(2.1 M3)和maven集成一样非常好。我有一个开源演示项目:
https://github.com/awkay/lift_squeryl_demo
给出了使用以下功能设置eclipse的说明:
结果是一种根本不需要命令行交互的体验,并且包括超快速编辑 - 保存 - 重新加载Web开发。它确实为您提供了动态的语言开发体验。
答案 3 :(得分:1)
我不知道这是否是您遇到的问题,但有时您需要确保Scala库在项目类路径中的 JRE库之前出现(或运行以前的配置)执行它。)