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

时间:2016-11-07 09:24:59

标签: java maven jboss ejb wildfly-10

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

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

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

1 个答案:

答案 0 :(得分:5)

实际上,您只需要这个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