FileNotFoundException, хотя файл XML должен быть развернут - PullRequest
0 голосов
/ 28 апреля 2010

У меня проблемы с запуском моего WAR-приложения на локальном JBoss. После развертывания двух других EAR и развертывания WAR-файла TomcatDeployer появляется следующее сообщение об ошибке:

2010-04-28 10: 01: 56,605 ОШИБКА [org.jboss.ejb.plugins.LogInterceptor] [] [main] EJBException в методе: открытый абстрактный метод [тип возврата] выдает javax.ejb.CreateException, java. rmi.RemoteException, вызванное javax.ejb.EJBException: org.springframework.beans.factory.access.BootstrapException: невозможно инициализировать определение группы. Имя ресурса группы [classpath *: context.xml], ключ фабрики [contextService]; Вложенное исключение - org.springframework.beans.factory.BeanCreationException: ошибка создания бина с именем 'service', определенным в URL [jar: file: / C: /jboss-4.2.3.GA/server/default/deploy/frontend.war /WEB-INF/lib/modules.jar!/aontext.xml]: не удалось создать экземпляр компонента; вложенным исключением является org.springframework.beans.BeanInstantiationException: не удалось создать экземпляр класса бина [org.springframework.context.support.ClassPathXmlApplicationContext]: конструктор вызвал исключение; вложенным исключением является org.springframework.beans.factory.BeanDefinitionStoreException: IOException при синтаксическом анализе XML-документа из ресурса пути к классу [package / context.xml]; вложенное исключение: java.io.FileNotFoundException: ресурс пути к классу [package / context.xml] не может быть открыт, потому что он не существует

Но package / context.xml фактически находится внутри JAR в одном из моих файлов EAR, которые должны быть развернуты до WAR. И, по крайней мере, я получаю сообщение о том, что развертывание EAR прошло успешно. Я также заглянул в JAR с моим файловым архиватором, и context.xml действительно находится в нужном месте.

Есть ли у меня способ убедиться, что JAR, а не EAR в целом, действительно развернуто на JBoss? Я уже начинаю терять голову из-за этой проблемы.

Спасибо. Бернхард

Ответы [ 2 ]

0 голосов
/ 29 апреля 2010

Я развернул войну в другом каталоге развертывания, который называется "deploy.last" в каталоге JBoss, так как он должен, как следует из названия, развернуться наконец. Теперь я изменил свою конфигурацию JBoss и поместил войну в каталог развертывания более высокого ранга (где также находятся два EAR), и теперь все работает нормально. Наконец, война все еще развернута. Я понятия не имею, почему это сработало, но сработало. : D

0 голосов
/ 28 апреля 2010

Может быть проблема с загрузчиком классов. Вы можете проверить, правильно ли загружены ваш JAR и его содержимое, настроив регистратор для событий загрузки классов, как описано здесь (пример 3.8) .

В журнале также содержится информация о том, какой загрузчик классов загрузил что - это может объяснить, почему ваше веб-приложение (загруженное собственным загрузчиком) не видит вещи в EAR.

Другое дело: JAR-файл, содержащий XML-файл, включен в путь к классу WAR?

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