Java アプリケーションの実行に問題があります。Applet Activator クラスで GUI を開くと、OSGi で検索した後、bundleContext.getServiceReference が NPE をスローします。UIService を実装するサービスが登録されていないために発生することがわかりました。私の質問は次のとおりです。それはどういう意味ですか? 修正するには何を確認すればよいですか?
エラーコード:
java.lang.NullPointerException
at net.java.sip.communicator.impl.appletActivator.AppletActivator.openMainGui(AppletActivator.java:57)
at net.java.sip.communicator.impl.appletActivator.AppletActivator.start(AppletActivator.java:40)
at org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:1243)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:620)
at org.apache.felix.framework.Felix.activateBundle(Felix.java:1904)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1822)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1192)
at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:266)
at java.lang.Thread.run(Unknown Source)
ソース:
public static <T> T getService(BundleContext bundleContext,
Class<T> serviceClass) {
//This throws the NullPointerException
ServiceReference serviceReference = bundleContext
.getServiceReference(serviceClass.getName());
return (serviceReference == null) ? null : (T) bundleContext
.getService(serviceReference);
}
私は OSGi を初めて使用し、いくつかの概念を理解していません。