Eclipse 插件安装后崩溃-NullPointerException

Eclipse 插件安装后崩溃-NullPointerException,eclipse,plugins,classpath,Eclipse,Plugins,Classpath,我正在一个单独的Eclipse安装中测试我的插件。我可以创建一个功能并通过更新站点安装它 但是,当我尝试运行它时,当它从我的项目中的JAR文件调用代码时,我从一行中得到一个NullPointerException 所有必需的JAR都在我的lib文件夹中,我的插件可以很好地编译。 但它似乎无法在运行时找到它们,所以我得到了NPE 这是我的档案: -build.properties: source.. = src/ output.. = bin/ bin.includes = plugin.xml,

我正在一个单独的Eclipse安装中测试我的插件。我可以创建一个功能并通过更新站点安装它

但是,当我尝试运行它时,当它从我的项目中的JAR文件调用代码时,我从一行中得到一个NullPointerException

所有必需的JAR都在我的lib文件夹中,我的插件可以很好地编译。 但它似乎无法在运行时找到它们,所以我得到了NPE

这是我的档案: -build.properties:

source.. = src/
output.. = bin/
bin.includes = plugin.xml,\
           META-INF/,\
           .,\
           icons/,\
           plugin.properties,\
           templates/,\
           lib/,\
           resources/,\
           lib/asas-base.jar,\
           lib/asas-crypt.jar,\
           lib/asas-dbmssql.jar,\
           lib/asas-dboracle.jar,\
           lib/asas-dbtools.jar,\
           lib/asas-dbtoolsmssql.jar,\
           lib/asas-dbtoolsoracle.jar,\
           lib/asas-jdbc.jar,\
           lib/asas-kernel.jar,\
           lib/asas-rts.jar,\
           lib/asas-sbb.jar,\
           lib/asas-ui.jar
  • MANIFEST.MF文件:

    Bundle-ClassPath: .,
    lib/org.eclipse.e4.xwt_0.9.1.SNAPSHOT.jar,
    lib/org.eclipse.e4.xwt.forms_0.9.1.SNAPSHOT.jar,
    lib/asas-base.jar,
    lib/asas-crypt.jar,
    lib/asas-dbmssql.jar,
    lib/asas-dboracle.jar,
    lib/asas-dbtools.jar,
    lib/asas-dbtoolsmssql.jar,
    lib/asas-dbtoolsoracle.jar,
    lib/asas-jdbc.jar,
    lib/asas-kernel.jar,
    lib/asas-rts.jar,
    lib/asas-sbb.jar,
    lib/asas-ui.jar
    
有什么想法吗? 非常感谢

以下是我得到的堆栈跟踪:

java.lang.NullPointerException
at br.com.senior.wb.asas.model.utils.AsasUtils.createObject(AsasUtils.java:276)
at br.com.senior.wb.asas.model.utils.AsasComponentManager.createComponent(AsasComponentManager.java:11)
at br.com.senior.wb.asas.gef.part.CreateCommand.innerExecute(AsasComponentCommands.java:42)
at br.com.senior.wb.asas.gef.part.CreateCommand$1.run(AsasComponentCommands.java:36)
at org.eclipse.wb.internal.core.utils.execution.ExecutionUtils.run(ExecutionUtils.java:324)
at br.com.senior.wb.asas.gef.part.CreateCommand.execute(AsasComponentCommands.java:33)
at org.eclipse.wb.internal.gef.core.EditDomain.executeCommand(EditDomain.java:59)
at org.eclipse.wb.gef.core.tools.Tool.executeCommand(Tool.java:209)
at org.eclipse.wb.gef.core.tools.AbstractCreationTool.handleButtonUp(AbstractCreationTool.java:62)
at org.eclipse.wb.gef.core.tools.Tool.mouseUp(Tool.java:395)
at org.eclipse.wb.internal.gef.core.EditDomain.mouseUp(EditDomain.java:255)
at org.eclipse.wb.internal.gef.graphical.EditEventManager.mouseUp(EditEventManager.java:149)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.wb.internal.draw2d.EventManager$8.invoke(EventManager.java:325)
at com.sun.proxy.$Proxy20.mouseUp(Unknown Source)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:220)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)

我刚刚在这里发现了问题。 问题在于我如何访问plugin.xml文件以从中读取一些信息。 下面是我如何修复它的:

            InputStream is = FileLocator.openStream(Activator.getDefault().getBundle(), new Path("plugin.xml"), false);
        BufferedReader in = new BufferedReader(new InputStreamReader(is));
没有这个,我的插件就不能正常工作


感谢您的帮助。

您是否已将所有必需的文件添加到“build.properties”中?如果一个文件没有列在插件jar中,它将不会包含在插件jar中。是的……它们都在bin.includes属性中……还需要什么吗?另外……奇怪的是,当我安装它时,所有这些jar都在插件jar中……它似乎无法从那里执行代码……jar还必须列在MANIFEST.MF中的“Bundle Classpath”中(清单编辑器运行时选项卡上的类路径)。是否可以发布异常的堆栈跟踪?