Settings
클래스를 e4가 삽입 할 수있는 OSGI 선언 서비스로 변환하려고합니다.Eclipse 4 OSGI 서비스 삽입
나는 OSGI-INF에있는 서비스/settingsService.xml 만들었습니다
<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.recommenders.privacy.rcp">
<implementation class="org.eclipse.recommenders.privacy.rcp.PrivacySettingsService"/>
<service>
<provide interface="org.eclipse.recommenders.privacy.rcp.IPrivacySettingsService"/>
</service>
</scr:component>
을 그리고 여기에 설명 된 바와 같이 나는 @Inject
와 변수를 주석 한 : http://toedter.com/2010/06/28/eclipse-4-0-dependency-injection-and-osgi-declarative-services/
@Inject
private IPrivacySettingsService privacySettingsService;
하지만 NullPointerException
을 받고 있습니다.
@Inject를 어디에서하려고합니까? 이것은 응용 프로그램 모델이 알고있는 객체 (MPart, Handler, ...) 또는 자신의 객체입니까? –
그것은 내 자신의 물건입니다. 코드는 github에서 찾을 수 있습니다. https://github.com/yaziza/org.eclipse.recommenders.privacy/blob/master/plugins/org.eclipse.recommenders.privacy.rcp/src/org/eclipse/recommenders/ privacy/rcp/ApprovalDialogJob.java – yasser
'ContextInjectionFactory.make'를 사용하여 생성하거나'ContextInjectionFactory.inject'를 강제로 주입하지 않는 한, 사용자 자신의 객체에 대해 주입이 수행되지 않습니다. –