Почему мое приложение для шва разворачивается только частично? - PullRequest
1 голос
/ 26 сентября 2011

У меня есть приложение для шва, созданное моим коллегой.Это основано на Maven.Я пытаюсь заставить его работать в затмении, которое само по себе сбивает с толку, но мне удалось избавиться от всех «проблем» затмения (как показано в представлении проблем), и приложение успешно собирается, как из командной строки, так и из командной строки.из затмения.

Сложность заключается в том, что при развертывании приложения на сервере jboss (Jboss 5.1) развертывание проходит только до JSF и никогда не запускает секцию Seam.Таким образом, файл журнала выглядит следующим образом

13:15:23,087 INFO  [EJBContainer] STARTED EJB: org.jboss.seam.transaction.EjbSynchronizations ejbName: EjbSynchronizations
13:15:23,107 INFO  [JndiSessionRegistrarBase] Binding the following Entries in Global JNDI:

nccm-app/EjbSynchronizations/local - EJB3.x Default Local Business Interface
nccm-app/EjbSynchronizations/local-org.jboss.seam.transaction.LocalEjbSynchronizations - EJB3.x Local Business Interface

13:15:23,357 INFO  [TomcatDeployment] deploy, ctxPath=/nccm
13:15:23,448 INFO  [config] Initializing Mojarra (1.2_13-b01-FCS) for context '/nccm'`

и останавливается.Работающее приложение продолжается со шва:

2011-09-16 11:59:48,494 INFO  [javax.servlet.ServletContextListener] (HDScanner) Welcome to Seam 2.2.0.EAP5

Что-то должно отсутствовать в моем EAR-файле, но я не могу понять, что именно.Библиотека швов определенно есть.Любой способ сказать, что мне не хватает?

Ответы [ 2 ]

2 голосов
/ 26 сентября 2011

Зависание Initializing Mojarra может означать как минимум 2 вещи:

  1. Недостаточно памяти. Увеличьте пространство кучи вашего контейнера. Начните с 512M, в зависимости от размера вашего веб-приложения.

  2. Конфликт в библиотеках, связанных с JSF. Убедитесь, что все версии совместимы друг с другом (JSF, Seam, RichFaces и т. Д.). Убедитесь, что вы понимаете, что JBoss поставляется с собственным набором библиотек api / impl JSF и что вам не следует включать их в /WEB-INF/lib вашего веб-приложения (то есть пометить его как provided в Maven). Или, если вы хотите переопределить JBoss при загрузке его встроенных библиотек JSF и предпочитаете библиотеки, включенные в веб-приложение, то вам следует добавить следующий параметр контекста в web.xml веб-приложения, чтобы сказать JBoss, что вместо него следует использовать JSF-пакет, связанный с WAR: 1013 *

    <context-param>
        <param-name>org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL</param-name>
        <param-value>true</param-value>
    </context-param>
    
0 голосов
/ 27 сентября 2011

Убедитесь, что в ваших результирующих файлах есть файл seam.properties (может быть пустым).

Для war сборок он должен быть представлен здесь:

\WEB-INF\classes\seam.properties

Для jar сборки (которые имеют объявления beam bean) должны быть здесь:

\classes\seam.properties
...