У меня есть это приложение, которое я написал как обычный сервлет. Он использует Weld для CDI. При развертывании на простом JBoss 7.0.2 все работает так, как ожидалось.Использование Weld with Liferay 6.1 CE/Jboss
Теперь я преобразовал приложение в портлет 2.0. Я пытаюсь развернуть портлет в Liferay 6.1 CE работает на JBoss, но я получаю следующее исключение
14:16:20,587 INFO [stdout] (http--127.0.0.1-8080-86) 14:16:20,583 ERROR [PortletServlet:97] javax.portlet.PortletException: java.lang.RuntimeException: javax.naming.NameNotFoundException: BeanManager -- service jboss.naming.context.java.module.ROOT.ROOT.BeanManager
Это исключение возникает, когда я звоню
return (BeanManager) new InitialContext()
.lookup("java:comp/BeanManager");
Любые идеи, что может быть причиной этого?
К сожалению, у меня нет контроля над средой развертывания производственного сервера. –
Если вы можете обновить сварочную банку до новой версии, которая может сработать для вас, в противном случае вы застряли. – LightGuard
Я сейчас пробовал оба подхода. Я не смог развернуть Liferay на JBoss 7.1 - произошли некоторые ошибки, которые я не смог решить. Затем я попытался обновить Weld до 1.1.5.AS71.Final (тег git), выполнив это: источники из https://github.com/weld/core - «mvn clean install -Pupdate-jboss-as» обновляет AS7 ; см. Jboss-as/jboss-as-7/build.properties для jboss.home prop Это обновило файлы сварочных банок, но я продолжаю иметь ту же проблему, что и в оригинальной записи. –