2011-11-18 31 views
6

标准“Symply Lift”RestHelper example项目功能code,code.libcode.modelbootstrap.liftweb.Boot命名空间。我已将这些更改为mycompany.myproject.code e t.c.现在项目编译好了,Jetty开始就好了,但是当我尝试在重构之前访问曾经工作得很好的错误时,我得到The Requested URL /my/url was not found on this server错误。我可能忘记改变什么?我应该如何安全地更改软件包名称?如何更改Lift项目根包?

LiftRules.addToPackages("code")更改为LiftRules.addToPackages("mycompany.myproject.code")没有帮助。

更新:我发现问题是由于我将bootstrap.liftweb.Boot移动到mycompany.myproject.bootstrap.liftweb.Boot而造成的。我已经把它移回去了,它又起来了,再次工作。但我仍然很好奇,如何自定义bootstrap.liftweb位置,因为bootstrap.liftweb.Boot类不同于项目,我不希望它们全部具有相同的全名。

回答

4

可以如在Exploring LiftChapter 3.2 Bootstrap描述了使用LiftFilter设置在web.xml定义自己的Boot类。

从书:

<filter> 
    ... filter setup here ... 
    <init-param>  
     <param-name>bootloader</param-name> 
     <param-value>foo.bar.baz.MyBoot</param-value> 
    </init-param> 
</filter> 

在您的自定义启动类的类必须继承net.liftweb.http.Bootable并实现boot方法。