我关注了EJB 3.1上的一些教程,并且那些对EJB-API使用了以下依赖项。
<dependency>
<groupId>org.jboss.spec.javax.ejb</groupId>
<artifactId>jboss-ejb-api_3.1_spec</artifactId>
<version>1.0.2.Final</version>
</dependency>
我的问题是,这只适用于jboss,或者我可以在任何其他应用程序服务器中使用它。如果不是为什么存在这样的依赖关系,这些依赖关系不是独立于应用程序服我也发现this reference为ejb 3.1 api。因此,请详细说明这些是什么以及为什么那些。
您可以在任何您喜欢的服务器上使用它。只需记住将<scope>provided</scope>
标记添加到依赖项中,如下所示:
<dependency>
<groupId>org.jboss.spec.javax.ejb</groupId>
<artifactId>jboss-ejb-api_3.1_spec</artifactId>
<version>1.0.2.Final</version>
<scope>provided</scope>
</dependency>
provided
范围意味着此依赖关系仅用于编译代码,而不包含在生成的EAR / WAR / JAR中。在运行时,此依赖项由应用程序服务器(JBoss,Websphere,无论如何)提供。如果省略范围规范部分,可能会发生非常糟糕的事情。
干得好。这是来自EJB specs。
<dependency>
<groupId>javax.ejb</groupId>
<artifactId>javax.ejb-api</artifactId>
<version>3.2</version>
</dependency>
希望这可以帮助。