Это известная проблема . Это на самом деле вызвано проблема 1937 . Вкратце, сканер аннотаций случайно содержит специфичный для Glassfish код, который приводит к тому, что он не работает с базовыми сервлет-контейнерами, которые не поставляются со встроенными сканерами аннотаций, такими как Tomcat и Jetty. Это исправлено в 2.1.1.
Итак, чтобы решить вашу проблему, вам нужно обновиться как минимум до 2.1.1. На данный момент последняя версия 2.1.3, я рекомендую перейти на последнюю. См. Также страницу Mojarra для получения всей информации о Maven pom.
Совершенно другая альтернатива - заменить Tomcat более полным контейнером, таким как Glassfish. Это даст вам, среди прочего, преимущество поддержки EJB / JPA, так что вы сможете легко и просто создавать бизнес-сервисы, выполнять фоновые задания, взаимодействовать с базой данных с помощью oneliners и т. Д.