Ral*_*lph 10 java glassfish cdi jboss-weld
我有一个关于bean.xml文件的正确格式和用法的问题.在我的项目中,我通常将此内容用于我的bean.xml文件(不使用explizit bean声明):
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
</beans>
Run Code Online (Sandbox Code Playgroud)
这在WildFly 8和9中运行良好.但是我在GlassFish 4中有部署问题.在问题:Glassfish 4,CDI中的简单示例失败,WELD-001408不满意的依赖关系我写了另一种格式:
<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"
bean-discovery-mode="all">
</beans>
Run Code Online (Sandbox Code Playgroud)
使用了不同的命名空间.并且GlassFish4似乎关心这一点.
用于JEE7的空bean.xml文件的正确格式是什么?
G. *_*cki 16
正确的空beans.xml可以是完全空的文件,真的;-)
但是当您想添加一些内容时,请注意大多数XML部署描述符名称空间已在Java EE 7中更新.本文将介绍详细信息.还bean-discovery-mode添加了.
BTW:beans.xml我现在使用的样品看起来像:
<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.2" bean-discovery-mode="annotated">
<!-- some content -->
</beans>
Run Code Online (Sandbox Code Playgroud)
您可能会注意到version="1.2"属性的用法- 您可以自由地将其设置为1.1.它只是作为一个提醒该项目使用CDI 1.2(这其实只是一个读者维护版本的CDI 1.1规范).
| 归档时间: |
|
| 查看次数: |
13206 次 |
| 最近记录: |