我正在嘗試做一個簡單的演示,其中我啓動Equinox框架,然後加載創建的教程捆綁軟件(通過教程)。我不斷收到NullPointerExceptions
這裏是堆棧跟蹤...nullPointerException嘗試以編程方式在Equinox中安裝捆綁軟件時
Exception in thread "main" java.lang.NullPointerException
at org.eclipse.osgi.internal.baseadaptor.BaseStorageHook.mapLocationToURLConnection(BaseStorageHook.java:372)
at org.eclipse.osgi.baseadaptor.BaseAdaptor.mapLocationToURLConnection(BaseAdaptor.java:185)
at org.eclipse.osgi.framework.internal.core.Framework$1.run(Framework.java:835)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.osgi.framework.internal.core.Framework.installWorker(Framework.java:888)
at org.eclipse.osgi.framework.internal.core.Framework.installBundle(Framework.java:832)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.installBundle(BundleContextImpl.java:167)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.installBundle(BundleContextImpl.java:161)
at com.mydemo.bootstrap.Bootstrap.main(Bootstrap.java:35)
這裏是代碼...
public class Bootstrap
{
public static void main(String[ ] args) throws BundleException , InterruptedException , MalformedURLException
{
// Load the framwork factory
ServiceLoader loader = ServiceLoader.load(FrameworkFactory.class);
FrameworkFactory factory = (FrameworkFactory) loader.iterator().next();
// Create a new instance of the framework
Framework framework = factory.newFramework(null);
try
{
// Start the framework
framework.start();
framework.init();
BundleContext bc = framework.getBundleContext();
bc.installBundle("file:/c:/Users/kirk/Desktop/plugins/org.equinoxosgi.toast.client.emergency_1.0.0.201106290845.jar");
}
finally
{
// Stop the framework
framework.stop();
// Wait for the framework to stop completely
framework.waitForStop(3000);
}
}
}