OSGi 프로젝트가 있고 Maven을 사용하고 있습니다. 내 치어의 아래 (일부 표시로오류 : org.osgi.util.tracker.ServiceTracker가 매개 변수를 사용하지 않습니다.
...
import org.osgi.util.tracker.ServiceTracker;
...
private ServiceTracker<Object, Object> serviceTracker;
내가 분명히 org.eclipse.osgi이 내 종속의 : 번들에서 나는 org.osgi.util.tracker.ServiceTracker를 가져오고 속성을 작성해야합니다. xml).
<dependencies>
<dependency>
<groupId>org.eclipse</groupId>
<artifactId>org.eclipse.osgi</artifactId>
<version>3.8.0.v20120529-1548</version>
<scope>provided</scope>
</dependency>
</dependencies>
Eclipse 내에서 클래스 정의를 찾을 수 있습니다.
public class ServiceTracker<S, T> implements
ServiceTrackerCustomizer<S, T>
{
...
}
그러나, 나는 받는다는 명령에 의해 내 프로젝트를 컴파일 할 때 :
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project <my project name>: Compilation failure: Compilation failure:
[ERROR] <link to my source code dir>/Activator.java:[75,27] type
org.osgi.util.tracker.ServiceTracker does not take parameters
도대체 무슨 일이 일어나고 무엇 :
mvn clean install
내가 오류가 발생했습니다?
POM 또는 상위 POM에 다른 종속성이 있습니까? 그것은 어딘가에서 ServiceTracker 클래스의 이전 버전을 선택하는 것으로 보입니다. –
또는 상위 pom에서 종속성 (관리되지는 않지만 직접 종속성). Btw : 당신은 org.osgi.core와 org.osgi.compendium 의존성을 스펙을 구현하는 이슈 대신에 "제공된"범위를 가진 컴파일을 위해 사용해야한다. –
@NickWilson : 처음에는 나도 그렇게 생각 했으므로 별도로 컴파일하려고했습니다. 새로운 독립 실행 형 프로젝트를 만들고 종속성 및 속성 만 선언하고 프로젝트를 컴파일합니다. 그러나 오류는 여전히 존재합니다. – vad