春季项目部署与野生苍蝇

时间:2015-05-31 17:22:58

标签: java spring jboss wildfly wildfly-8

我有一个在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).

我需要解决此警告吗?是什么原因它没有阅读我的应用程序的注释?我该如何解决这个问题?

1 个答案:

答案 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

很好地解释了这个选项。