为什么 weld 依赖于 JBoss Common Annotations 1.3 API 而不是使用 Javax Annotation API?

Why weld depends on JBoss Common Annotations 1.3 API instead of using Javax Annotation API?

我正在集成 Weld 3.1.0 into my application. My application already has a dependency with the Javax Annotation API 库。

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

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

提前致谢。

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

这里是答案(从邮件中粘贴,感谢 Tomaz Cerar):

For the longest time java ee related spec apis ware not officially available in any maven repository.

Only lately with latest version of Java/Jakarta EE spec apis are starting to appear properly in maven central.

Another reason is as Petr said, some service loader configs (w)are different and in some cases even some impl classes (w)are added.

部分是历史原因,部分是实施方式的差异类。

作为旁注 - 从用户的角度来看,使用 JBoss API 版本与使用 API 版本的另一个版本相比,您应该不会注意到任何区别确实一模一样