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 игнорирует это как-то?

Другие вопросы по тегам