我想要一个使用Maven构建的Java JEE6项目,并且我希望它是标准的

因此,我将其放在pom.xml中:

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

像这样的项目,应该在每个兼容的JEE6容器(jboss,geronimo,glashfish等)中运行。

那么,为什么存在这种jboss依赖关系?
<dependency>
    <groupId>org.jboss.spec</groupId>
    <artifactId>jboss-javaee-6.0</artifactId>
    <version>3.0.2.Final</version>
    <scope>provided</scope>
 </dependency>

如果使用它,我是否会绑定(bind)到jboss,所以只能将此服务器与此应用程序一起使用?

总是使用标准的javaee-api是不是更可取?

谢谢!

最佳答案

标准api残缺不全,即e。方法主体缺失。这在测试时证明。我曾经遇到过这个陷阱,对它不是很满意。

因此,建议使用其他程序包作为引用。

您可以仔细看看Adam Biens Blog

如果确实需要,您还可以为不同的部署环境创建配置文件。但是,基本上我同意,可悲的是这不是一个非常令人愉快的情况。

如果遇到测试问题,可以查看this thread

编辑:
顺便说一句,从现在开始,这可能会引起兴趣。 的javaee-(web-)api不再存在此问题Java EE 7 (source)

关于java - Maven:javaee-api与jboss-javaee-6.0,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15518148/

10-12 19:08