我有一个在Spring 4,hibernate 4和java 8中开发的java应用程序。我使用Eclipse Luna在wildfly 8.4中部署它。
但它没有部署。当我尝试访问该应用程序时,屏幕上显示"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).
我需要解决此警告吗?是什么原因它没有阅读我的应用程序的注释?我该如何解决这个问题?
答案 0 :(得分:-1)
为了阻止WildFly在战争中使用Weld,可以(根据@Yuri)禁用bean-discovery'通过调整bean.xml中的模式。你可以在这里阅读@ Yuri的回答https://stackoverflow.com/a/21757053/1023341。简短的是:
将bean.xml添加到war / jar(战争文件的WEB-INF / beans.xml,或jar文件的META-INF / beans.xml)将其添加到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(2013年10月3日)Default CDI Enablement in Java EE 7
很好地解释了这个选项。