我想尝试 Open Web Beans 1.6.2,但它在其网站上列出了用于向 Java SE 应用程序添加 CDI 支持的 jar
openwebbeans-spi.jar
openwebbeans-impl.jar
geronimo-jcdi_1.0_spec.jar
geronimo-atinject_1.0_spec.jar
geronimo-interceptor_1.2_spec.jar
geronimo-annotation_1.2_spec.jar
似乎不包含 javax.enterprise.inject.Vetoed
注释,我必须添加 cdi-api 1.2 作为依赖项来解决该问题,但我不确定这是否正确,因为所有其他 CDI 依赖项均已通过上述解决?这是我的 pom 中的依赖项,这是正确的吗?
<dependency>
<groupId>org.apache.openwebbeans</groupId>
<artifactId>openwebbeans-impl</artifactId>
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>org.apache.openwebbeans</groupId>
<artifactId>openwebbeans-spi</artifactId>
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jcdi_1.0_spec</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-atinject_1.0_spec</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-interceptor_1.2_spec</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-annotation_1.2_spec</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>javax.enterprise</groupId>
<artifactId>cdi-api</artifactId>
<version>1.2</version>
</dependency>
这个link似乎建议在 Open Web Beans 1.5.0 中添加对 @Vetoed
的支持
最佳答案
请将 geronimo-jcdi_1.0_spec
升级到 jcdi_1.1 版本
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jcdi_1.1_spec</artifactId>
<version>1.0</version>
</dependency>
虽然你的问题很奇怪,因为你还有以下条目:
<dependency>
<groupId>javax.enterprise</groupId>
<artifactId>cdi-api</artifactId>
<version>1.2</version>
</dependency
其中还包含@Vetoed
,因此应该足够了。 maven 会以某种方式忽略它吗?
关于javax.enterprise.inject.Vetoed 打开 web beans,哪个 jar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33371099/