java – 为什么我们在Wildfly中需要以下用于EJB 3.2的jboss jar?

这可能是一个愚蠢的问题.但我有一个疑问,为什么我们需要以下依赖项来在Wildfly中运行EJB?

<dependency>
    <groupId>org.jboss.spec.javax.ejb</groupId>
    <artifactId>jboss-ejb-api_3.2_spec</artifactId>
    <scope>provided</scope>
</dependency>

我们是否有类似的东西只为Wildfly定制?

解决方法:

实际上,您只需要这个maven依赖项,这样您的代码就可以在maven编译阶段成功编译.例如,它提供了诸如@Stateless之类的EJB注释.

我用来为我的Java EE 7项目声明这个maven依赖项,因此可以使用大量的JEE规范:

    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <version>7.0</version>
        <scope>provided</scope>
    </dependency>

最后,必须使用“提供”范围声明此maven依赖项,因为您在包中不需要它.实际上它已经由Wildfly提供,如本文档中所述:Implicit module dependencies for deployments

上一篇:java – JBoss 7.1无法部署战争


下一篇:javascript – Tern:使用tern服务器同步脚本资源