Java TOME:CDI扩展-未找到提供程序错误

Java TOME:CDI扩展-未找到提供程序错误,java,jakarta-ee,cdi,apache-tomee,Java,Jakarta Ee,Cdi,Apache Tomee,我正在运行TOME+1.5.1并尝试创建CDI扩展。我创建了一个实现javax.enterprise.inject.spi.Extension的类,并将该类名放入文件META-INF/services/javax.enterprise.inject.spi.Extension中 该类本身很简单: import java.util.HashSet; import java.util.Set; import javax.enterprise.event.Observes; import javax

我正在运行TOME+1.5.1并尝试创建CDI扩展。我创建了一个实现javax.enterprise.inject.spi.Extension的类,并将该类名放入文件META-INF/services/javax.enterprise.inject.spi.Extension中

该类本身很简单:

import java.util.HashSet;
import java.util.Set;

import javax.enterprise.event.Observes;
import javax.enterprise.inject.spi.Extension;
import javax.enterprise.inject.spi.ProcessAnnotatedType;

public class ScanAllClassesExtension implements Extension {

    private Set<Class<?>> allClasses;

    public void handleProcessAnnotatedTypeEvent(@Observes ProcessAnnotatedType<?> processAnnotatedTypeEvent) throws Exception {
        Class<?> type = processAnnotatedTypeEvent.getAnnotatedType().getJavaClass();
        getAllClasses().add(type);
    }

    public Set<Class<?>> getAllClasses() {
        if (allClasses == null) {
            allClasses = new HashSet<Class<?>>();
        }
        return allClasses;
    }

}
在OpenEJB中调试时,此错误是由ClassNotFoundException引起的,但正确的路径位于类加载器的url列表中


我不知道为什么会发生这种情况,我希望任何人都能帮助我。

你能试试看1.6快照()

顺便问一下,你的应用程序中提供了api吗?它可能会导致某些版本的类加载问题

java.util.ServiceConfigurationError: javax.enterprise.inject.spi.Extension: Provider test.extensions.ScanAllClassesExtension not found