我正在将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吗?
谢谢。
答案 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方面,它们确实是相同的。