我想要一个使用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/