我使用 Weld 3.0.5 创建了一个简单的 Java 11 SE maven 项目。
package main;
import javax.enterprise.inject.se.SeContainer;
import javax.enterprise.inject.se.SeContainerInitializer;
public class Main {
public static void main(String[] args){
SeContainerInitializer initializer = SeContainerInitializer.newInstance();
try (SeContainer container = initializer.initialize()) {
A a = container.select(A.class).get();
a.say();
}
}
}
一切都很好,但是当我添加到我的项目 module-info.java 文件时,焊接停止工作。
module glowny {
requires weld.se.shaded;
opens main to weld.se.shaded;
}
例外:
线程“主”org.jboss.weld.exceptions.WeldException 中的异常:
WELD-001524:无法使用类接口 javax.enterprise 加载带有限定符 [@Default] 的 bean Implicit Bean [javax.enterprise.inject.Instance] 的代理类.inject.Instance 使用类加载器 jdk.internal.loader.ClassLoaders$AppClassLoader@2ed94a8b
在
java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)