2013-03-18 3 views
0

TomEE + 1.5.1을 실행하고 CDI 확장을 만들려고합니다. 나는 javax.enterprise.inject.spi.Extension 구현하는 클래스를 생성하고 클래스 자체는 간단하다/파일 META-INF/서비스로 javax.enterprise.inject.spi.ExtensionTomEE : CDI 확장자 - 공급자를 찾을 수 없음 오류

를 그 클래스의 이름을 넣어 : TomEE에 배포하는 방법에

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; 
    } 

} 

난이 에러를 가지고 :

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

이 오류가 발생하여 ClassNotFoundException가 OpenEJB를 디버깅하는 반면에, 그러나 바로 경로 클래스 로더의 URL 목록에 있습니다.

나는 이런 일이 왜 아무 단서와 나는 누군가가 나를 도울 수 있기를 바랍니다.

답변

관련 문제