PyDev在同步系统期间抛出NPEPYTHONPATH

时间:2015-07-23 22:18:09

标签: java nullpointerexception eclipse-rcp pydev

我有一个用PYDEV构建的RCP应用程序,每次启动它时,如果有一个或多个解释器被配置,PyDev会在运行同步系统PYTHONPATH作业时抛出NullPointerException。如果我通过单击PyDev / Interpreters首选项页面上的按钮手动检查同步,或者PyDev在启动后一分钟内执行自动同步检查,它将执行此操作。

如果我配置任何解释器,它会这样做。当我在Eclipse IDE中配置相同的解释器时,我没有得到NPE。因此,我的RCP应用程序中的某些内容导致PyDev抛出此错误,但我不知道在应用程序中使用PyDev需要做些什么。

NPE发生在SynchSystemModulesManager谎言391,使用PyDev 4.2.0

2 个答案:

答案 0 :(得分:1)

应该通过扩展点贡献的构建器为null。这让我意识到我在eclipse运行配置和Maven构建中缺少一些必需的插件。通过确保org.python.pydev的所有依赖项都包含在产品中来解决问题。

答案 1 :(得分:0)

另一个解决方案是实现所需的扩展,它不需要做任何事情。

将扩展名添加到plugin.xml:

<extension
     point="org.python.pydev.pydev_interpreter_info_builder">
  <interpreter_info_builder_participant
        class="org.example.InterpreterInfoBuilderParticipant">
  </interpreter_info_builder_participant>

然后添加课程:

public class InterpreterInfoBuilderParticipant implements IInterpreterInfoBuilder {
    @Override
    public BuilderResult syncInfoToPythonPath(IProgressMonitor arg0, InterpreterInfo arg1) {
        // Do nothing
        return null;
    }
}