Прежде всего, я хотел бы попросить исправить заголовок моего вопроса, если вам что-то придет в голову.
Давайте рассмотрим пример веб-службы Lift REST из Simply Lift.книга Дэвида Поллака здесь .
Если я открою консоль Windows (Windows XP SP3, все обновления, Oracle JDK 7) внутри каталога и запустлю "sbt" (sbt.bat), все работает просто отлично.Но в случае, если я пытаюсь сделать то же самое (но с использованием «./sbt») в Linux (XUbuntu 11.10, OpenJDK 6, OpenJDK 7, Oracle JDK 7 (пробовал все из них)), SBT возвращает (вместо перехода на консоль SBTрежим) сразу же, как он сделал свою работу.Это означает, что команда может быть просто ./sbt
, она немедленно возвращается (после завершения автоматического обслуживания проекта) или ./sbt jetty-run
- она просто запускает веб-сервер и немедленно выключает ее .
Более того, веб-сервис, который я разработал для моего проекта, компилируется и работает нормально в Windows, но не может быть откомпилирован (используя ./sbt compile
) в Linux (той же версией SBT).Ошибка «исходный файл» /.../src/main/scala/code/lib/FooBar.scala;src/main/scala/bootstrap/liftweb/Boot.scala «не найден», где «FooBar.scala "- это объект, где я делаю все подачи (напрямую вызывается из Boot.scala).
Есть идеи, в чем может быть причина и как ее исправить?
ОБНОВЛЕНИЕ: Причиной первой проблемы (возвращение SBT в оболочку вместо предложения консоли SBT) является то, что файл был извлечен в Windows и имел CR + LF вместо окончания строки LF.Решением для не найденных исходных файлов было использование команды clean
для перекомпиляции с нуля.