这可能是一个愚蠢的问题。但我有一个疑问,为什么我们需要以下依赖项来在Wildfly中运行EJB?
<dependency>
<groupId>org.jboss.spec.javax.ejb</groupId>
<artifactId>jboss-ejb-api_3.2_spec</artifactId>
<scope>provided</scope>
</dependency>
我们是否有类似的东西只为Wildfly定制?
答案 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