为什么焊接取决于JBoss Common Annotations 1.3 API而不是Javax Annotation API?

时间:2019-03-28 08:11:28

标签: java weld jboss-weld

我正在将Weld 3.1.0集成到我的应用程序中。我的应用程序已经与Javax Annotation API库具有依赖关系。

我注意到,焊接实现(核心)使用JBoss Common Annotations 1.3 API库定义了一个依赖关系,该库定义了具有(几乎)与Javax Annotation API中定义的相同类的相同java包。

有人知道为什么Weld依赖JBoss Common Annotations 1.3 API库而不是直接使用Javax Annotation API吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

好奇心困扰着我,所以我去WildFly mailing list问了一个问题,我怀疑人们会记得原因。就像WildFly一样,Weld是一个JBoss项目,因此遵循相同的思路。

以下是答案(通过邮件粘贴,感谢Tomaz Cerar):

  

最长的时间是与Java EE相关的规范apis正式发布   在任何Maven存储库中都可用。

     

只有最新版本的Java / Jakarta EE规范api才开始   正确显示在Maven Central中。

     

另一个原因是正如Petr所说,某些服务加载程序配置(w)   有所不同,在某些情况下甚至添加了一些隐含类(w)。

这部分是历史原因,部分是实现类的差异。

作为一个侧面说明-从用户的角度来看,使用JBoss API版本与其他版本没有什么不同,因为在API方面,它们确实是相同的。