Как изменить корневой пакет проекта Lift? - PullRequest
6 голосов
/ 18 ноября 2011

Стандартный "Symply Lift" RestHelper пример возможности проекта code, code.lib и code.model и bootstrap.liftweb.Boot пространства имен. Я изменил их на mycompany.myproject.code т. Д. Теперь проект компилируется нормально, и Jetty запускается просто отлично, но я получаю ошибку The Requested URL /my/url was not found on this server, когда пытаюсь получить доступ к тому, что раньше работало просто отлично перед рефакторингом. Что я мог забыть изменить? Как мне сменить имена пакетов безопасно?

Изменение LiftRules.addToPackages("code") на LiftRules.addToPackages("mycompany.myproject.code") не помогает.

ОБНОВЛЕНИЕ: Я обнаружил, что проблема была вызвана тем, что я переместил bootstrap.liftweb.Boot в mycompany.myproject.bootstrap.liftweb.Boot. Я вернул его обратно, и он снова заработал. Но мне все еще интересно, как я могу настроить местоположение bootstrap.liftweb, так как класс bootstrap.liftweb.Boot отличается от проекта к проекту, и я не хочу, чтобы у всех них было одинаковое полное имя.

1 Ответ

4 голосов
/ 18 ноября 2011

Вы можете определить свой собственный класс Boot, используя LiftFilter Setup в web.xml, как описано в Глава 3.2 Bootstrap из Исследование Lift .

Из книги:

<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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...