我想要一个用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>如果我使用它,我是否被绑定到jboss,所以我只能在这个应用程序中使用这个服务器?
总是使用标准的javaee不是更好吗?
谢谢!
发布于 2013-03-20 08:16:50
标准的api是残废的,即缺少方法体。这是在测试的时候。我曾经遇到过这个陷阱,对此我并不十分满意。
因此,可以使用另一个包作为参考。
您可以更仔细地查看亚当·宾斯博客
如果确实需要,还可以为不同的部署环境创建配置文件。然而,我基本上同意,不幸的是,这并不是一个非常令人愉快的情况。
如果测试有问题,您可以查看这条线。
编辑:
顺便说一句,从现在起这可能很有趣。对于javaee 7 (来源)的javaee-(web-)api来说,这个问题已经消失了。
发布于 2015-02-25 04:36:14
第一个依赖于java的解决方案是正确的方法:在理想情况下,您的应用程序在其工作方式下不应该受到服务器环境的关注。对于单元测试,您可以使用阿基利安,它可以帮助您在“家里”测试企业bean,而不会让人头痛。如果您正在使用javaee,您确定您的应用程序将部署并在另一个服务器上正常工作,而不是jboss?
https://stackoverflow.com/questions/15518148
复制相似问题