如何最轻松/快速地运行 liftweb 演示应用程序?
我正在尝试运行 liftweb 演示应用程序,可在此处获取。 此处的构建说明意味着我可以使用单个命令来编译它们,但是当我尝试时,我收到一个错误,抱怨无法找到框架的其他部分,所以我认为我必须运行超级构建。
我已经尝试过,并且在遵循将所有主存储库下载到目录的隐含(但未说明)步骤之后,运行它似乎可以工作,但需要很长的时间 - 开始构建后 6 小时,我离开了让它仍在运行。周一回来时,我遇到了这条消息:
[info] == lift-squeryl-record / test-start ==
[info] == lift-squeryl-record / test-start ==
[info]
[info] == lift-squeryl-record / net.liftweb.squerylrecord.SquerylRecordSpec ==
17:39:08.409 [Finalizer] DEBUG o.a.h.i.c.t.ThreadSafeClientConnManager - Shutting down
[info] == lift-squeryl-record / net.liftweb.squerylrecord.SquerylRecordSpec ==
Exception in thread "Thread-1735" Java HotSpot(TM) 64-Bit Server VM warning: Exception java.lang.OutOfMemoryError occurred dispatching signal Unknown Signal to handler- the VM may need to be forcibly terminated
构建过程已停止,我不得不终止它。首先,“buildall”似乎在启动之前进行了清理。
我的问题有两个:
- liftweb 构建过程真的需要那么长时间吗?是什么让它如此缓慢?我的构建机器只是一台 Mac Mini,但我不希望任何事情花费这么长时间 - 在 liftweb(大部分)编译的时间内,我可以构建 Linux 内核十几次或更多次。
- 有没有一种方法可以构建示例应用程序,而无需从头开始构建整个电梯框架?
I'm attempting to run the liftweb demo apps, available here. The build instructions, here, imply that I can compile them with a single command, but when I try, I get an error complaining about not being able to find the other parts of the framework, so I presume I have to run the superbuild.
I've tried that, and, after following the implied (but not stated) step of downloading all the main repositories to a directory, running it appears to work, but takes a ridiculously long time - 6 hours after starting the build, I left work with it still running. Coming back in on Monday I'm faced with this message:
[info] == lift-squeryl-record / test-start ==
[info] == lift-squeryl-record / test-start ==
[info]
[info] == lift-squeryl-record / net.liftweb.squerylrecord.SquerylRecordSpec ==
17:39:08.409 [Finalizer] DEBUG o.a.h.i.c.t.ThreadSafeClientConnManager - Shutting down
[info] == lift-squeryl-record / net.liftweb.squerylrecord.SquerylRecordSpec ==
Exception in thread "Thread-1735" Java HotSpot(TM) 64-Bit Server VM warning: Exception java.lang.OutOfMemoryError occurred dispatching signal Unknown Signal to handler- the VM may need to be forcibly terminated
The build process was stalled, and I had to terminate it. To boot, it seems 'buildall' does a clean before starting.
My questions are twofold:
- Should the liftweb build process really take that long? What could be making it so incredibly slow? My build machine is only a Mac Mini, but I wouldn't expect anything to take this long - I could've built the linux kernel a dozen or more times in the time it took liftweb to (mostly) compile.
- Is there a way to build the sample apps that doesn't involve building the whole lift framework from scratch?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您无需构建 Lift 框架的任何部分即可使用它。 SBT 将简单地下载您声明为依赖项的位并构建您的代码。
您引用的构建说明适用于 Lift Framework 构建 - 可能仅由处理该版本的开发人员使用。
您引用的示例项目包含大量(每个?)示例项目 - 可能比大多数人想要开始使用的要多一点。我克隆了存储库并运行了以下命令:
liftsh
- 启动 SBTupdate
- 下载依赖项jetty-run
- 编译并运行示例(第一个抢占端口 - 我们
可能必须选择一个特定的
SBT 的子项目)
这在笔记本上花了我大约 10 分钟,最后以在 localhost:8080 上运行的 hello Lift 结束。
一个更轻量级的入门方法是克隆:
https://github.com/lift/lift_24_sbt/tree/master/scala_29/lift_basic
run:
sbt
update
jetty-run
这只需要几分钟。
You do not have to build any part of the Lift framework in order to use it. SBT will simply download the bits you declare as dependencies and build your code.
The build instructions you reference are for the Lift Framework build - probably only used by the developers that work on the releases.
The examples project you referenced contains lots of (every?) example projects - probably a little more than most people want to get started with. I cloned the repository and ran following commands:
liftsh
- launches SBTupdate
- downloads dependenciesjetty-run
- compiles and runs the examples (thefirst one grabs the port - we
probably have to select a specific
sub project with SBT)
This took me about 10 minutes on a notebook and ended with hello Lift running on localhost:8080
A much lighter weight way to get started is to clone:
https://github.com/lift/lift_24_sbt/tree/master/scala_29/lift_basic
run:
sbt
update
jetty-run
This takes only a couple of minutes.