带焊缝 3 的 weld-junit5
weld-junit5 with weld 3
最近我们将 Weld 升级到 3.0。3.Final(Wildfly 12 中的那个)。现在weld-junit5 1.3.1.Final(最新版本)抛出异常
java.lang.NoSuchMethodError: javax.enterprise.inject.spi.AfterBeanDiscovery.addBean()Ljavax/enterprise/inject/spi/configurator/BeanConfigurator;
我们将 weld-se-core 添加到依赖项管理中:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.weld.se</groupId>
<artifactId>weld-se-core</artifactId>
<version>3.0.3.Final</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
这会否决 weld-se-core 2.4.8.Final 的默认版本,该版本在 weld-junit5 中定义。但是好像weld-junit5依赖于weld的结构2.x
weld-junit5 在其 github 页面上声明支持焊接 3,但没有说明如何使用它。我在 weld-junit5 的 POM 中找到了这个:
<profile>
<id>weld3</id>
<activation>
<activeByDefault>false</activeByDefault>
<property>
<name>env.WELD_JUNIT_PROFILE</name>
<value>weld3</value>
</property>
</activation>
<dependencies>
<dependency>
<groupId>org.jboss.weld.module</groupId>
<artifactId>weld-ejb</artifactId>
<version>${version.weld}</version>
<scope>test</scope>
</dependency>
</dependencies>
</profile>
但是我没有激活这个配置文件。
如何解决?
使用 weld-se-shaded
而不是 weld-se-core
就可以了。
最近我们将 Weld 升级到 3.0。3.Final(Wildfly 12 中的那个)。现在weld-junit5 1.3.1.Final(最新版本)抛出异常
java.lang.NoSuchMethodError: javax.enterprise.inject.spi.AfterBeanDiscovery.addBean()Ljavax/enterprise/inject/spi/configurator/BeanConfigurator;
我们将 weld-se-core 添加到依赖项管理中:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.weld.se</groupId>
<artifactId>weld-se-core</artifactId>
<version>3.0.3.Final</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
这会否决 weld-se-core 2.4.8.Final 的默认版本,该版本在 weld-junit5 中定义。但是好像weld-junit5依赖于weld的结构2.x
weld-junit5 在其 github 页面上声明支持焊接 3,但没有说明如何使用它。我在 weld-junit5 的 POM 中找到了这个:
<profile>
<id>weld3</id>
<activation>
<activeByDefault>false</activeByDefault>
<property>
<name>env.WELD_JUNIT_PROFILE</name>
<value>weld3</value>
</property>
</activation>
<dependencies>
<dependency>
<groupId>org.jboss.weld.module</groupId>
<artifactId>weld-ejb</artifactId>
<version>${version.weld}</version>
<scope>test</scope>
</dependency>
</dependencies>
</profile>
但是我没有激活这个配置文件。
如何解决?
使用 weld-se-shaded
而不是 weld-se-core
就可以了。