2017-12-21 20 views
1

maven-bundle-plugin 3.3.0 및 OSGI R6을 사용하고 있습니다.maven-bundle-plugin에서 동일한 이름의 다중 참조

나는 다음과 같은 클래스가 :

Bundle com.X:bundle:0.0.1-SNAPSHOT : In component com.X.A, multiple references with the same name: myB. Previous def: com.X.B, this def: 
[ERROR] Error(s) found in bundle configuration 

당신의 무엇을 알고 있습니까 : mvn clean install을 실행 한 후

//Class A 
@Component (immediate = true, service = {}) 
public class A{ 
    private static B myB; 
    @Reference (unbind = "unbindB") 
    public static void bindB(B pB) 
    { 
     myB = pB; 
    } 

    public static void unbindB() 
    { 
     myB= null; 
    } 
} 



//B class. It does not implement any interface. Hence, the service must be itself 
@Component (immediate = true, service = B.class) 
public class B{ 
@Activate 
    public void activate(){ 
     //B activated 
    } 
} 

을 받는다는 - 번들 플러그인 3.3.0은 나에게 오류를 제공 그것은 틀릴 수 있 었는가?

답변

1

바인딩/바인딩 해제 메서드는 정적 일 수 없습니다. 코드에 정적으로 표시됩니다. DS 구성 요소는 항상 인스턴스 기반입니다.

+1

이 상태에서 오류 메시지가 잘못 표시됩니다. –

+0

둘 다 옳습니다. 오류 메시지가 더 좋을 수 있습니다. – raullalves