Весеннее развертывание проекта с дикой мухой
У меня есть Java-приложение, которое разработано в Spring 4, hibernate 4 и java 8. Я развернул его в wildfly 8.4, используя Eclipse Luna.
Но это не развертывание. Когда я пытаюсь получить доступ к приложению, оно говорит "forbidden"
на экране.
Затем я проверил свою консоль, я нашел несколько предупреждений
22:44:26,550 WARN [org.jboss.as.ee] (MSC service thread 1-8) JBAS011006: Not installing optional component org.springframework.http.server.ServletServerHttpAsyncRequestControl due to an exception (enable DEBUG log level to see the cause)
22:44:26,552 WARN [org.jboss.as.ee] (MSC service thread 1-8) JBAS011006: Not installing optional component org.springframework.web.context.request.async.StandardServletAsyncWebRequest due to an exception (enable DEBUG log level to see the cause)
22:44:26,885 WARN [org.jboss.weld.deployer] (MSC service thread 1-8) JBAS016012: Deployment deployment "application.war" contains CDI annotations but no bean archive was found (no beans.xml or class with bean defining annotations).
Нужно ли решить это предупреждение? По какой причине он не читает аннотации моего приложения? Как я могу решить эту проблему?
1 ответ
Чтобы запретить WildFly использовать Weld в войне, можно (согласно @Yuri) отключить 'bean-discovery', настроив режим в bean.xml. Вы можете прочитать ответ @ Юрия здесь /questions/40079393/kak-otklyuchit-weld-na-wildfly/40079409#40079409. Суть это:
Добавьте bean.xml в ваш файл war/jar (WEB-INF/beans.xml для файлов war или как META-INF/beans.xml для файлов jar), поместите его в bean.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
version="1.1" bean-discovery-mode="none">
</beans>
Этот параметр хорошо объяснен reza_rahman (03 октября 2013 г.) в CDI по умолчанию в Java EE 7