javax.enterprise.inject.Vetoed Открытые веб-бины, какой jar?
Я хочу попробовать Open Web Beans 1.6.2, но на своем веб-сайте перечислены jar-файлы для добавления поддержки CDI в приложение Java SE.
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 были разрешены выше? Вот зависимости, которые у меня есть в моем пом, это правильно?
<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>
Похоже, эта ссылка предлагает поддержку @Vetoed
был добавлен в Open Web Beans 1.5.0
1 ответ
Пожалуйста, обновите 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 игнорирует это как-то?