You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pentaho CE 10.2浏览项目仓库报错:无法调用RepositoryDirectoryInterface.getName()

问题:Pentaho CE 10.2浏览仓库子目录时触发NullPointerException

环境信息

  • Pentaho CE版本:10.2.0.0-222
  • JDK版本:17.0.10
  • 操作系统:Windows 10 Enterprise 22H2
  • 对比验证:Pentaho CE 9.4执行相同操作无异常

报错堆栈

Exception occurred
java.lang.NullPointerException: Cannot invoke "org.pentaho.di.repository.RepositoryDirectoryInterface.getName()" because "repositoryDirectoryInterface" is null
    at org.pentaho.di.plugins.fileopensave.providers.repository.model.RepositoryDirectory.build(RepositoryDirectory.java:43)
    at org.pentaho.di.plugins.fileopensave.providers.repository.RepositoryFileProvider.getFiles(RepositoryFileProvider.java:107)
    at org.pentaho.di.plugins.fileopensave.providers.repository.RepositoryFileProvider.getFiles(RepositoryFileProvider.java:69)
    at org.pentaho.di.plugins.fileopensave.controllers.FileController.getFiles(FileController.java:131)
    at org.pentaho.di.plugins.fileopensave.dialog.FileOpenSaveDialog$FileTreeContentProvider.lambda$getChildren$0(FileOpenSaveDialog.java:2464)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:74)
    at org.pentaho.di.plugins.fileopensave.dialog.FileOpenSaveDialog$FileTreeContentProvider.getChildren(FileOpenSaveDialog.java:2462)
    at org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren(AbstractTreeViewer.java:1434)
    at org.eclipse.jface.viewers.TreeViewer.getRawChildren(TreeViewer.java:350)
    at org.eclipse.jface.viewers.StructuredViewer.getFilteredChildren(StructuredViewer.java:852)
    at org.eclipse.jface.viewers.AbstractTreeViewer.getSortedChildren(AbstractTreeViewer.java:626)
    at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:828)
    at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:604)
    at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:779)
    at org.eclipse.jface.viewers.AbstractTreeViewer.setExpandedState(AbstractTreeViewer.java:2526)
    at org.pentaho.di.plugins.fileopensave.dialog.FileOpenSaveDialog.lambda$createFilesBrowser$21(FileOpenSaveDialog.java:1273)
    at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:823)
    at org.eclipse.jface.util.SafeRunnable$1.run(SafeRunnable.java:129)
    at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174)
    at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:820)
    at org.eclipse.jface.viewers.StructuredViewer.handlePostSelect(StructuredViewer.java:1193)
    at org.eclipse.swt.events.SelectionListener$1.widgetSelected(SelectionListener.java:84)
    at org.eclipse.jface.util.OpenStrategy.firePostSelectionEvent(OpenStrategy.java:263)
    at org.eclipse.jface.util.OpenStrategy.access$5(OpenStrategy.java:258)
    at org.eclipse.jface.util.OpenStrategy$1.lambda$1(OpenStrategy.java:428)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4029)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3645)
    at org.eclipse.jface.window.Window.runEventLoop(Window.java:823)
    at org.eclipse.jface.window.Window.open(Window.java:799)
    at org.pentaho.di.plugins.fileopensave.dialog.FileOpenSaveDialog.open(FileOpenSaveDialog.java:322)
    at org.pentaho.di.plugins.fileopensave.extension.FileOpenSaveExtensionPoint.callExtensionPoint(FileOpenSaveExtensionPoint.java:74)
    at org.pentaho.di.core.extension.ExtensionPointMap.callExtensionPoint(ExtensionPointMap.java:142)
    at org.pentaho.di.core.extension.ExtensionPointHandler.callExtensionPoint(ExtensionPointHandler.java:36)
    at org.pentaho.di.ui.spoon.Spoon.openFileNew(Spoon.java:4706)
    at org.pentaho.di.ui.spoon.Spoon.openFileNew(Spoon.java:4670)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at org.pentaho.ui.xul.impl.AbstractXulDomContainer.invoke(AbstractXulDomContainer.java:309)
    at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:153)
    at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:137)
    at org.pentaho.ui.xul.swt.tags.SwtToolbarbutton.access$000(SwtToolbarbutton.java:44)
    at org.pentaho.ui.xul.swt.tags.SwtToolbarbutton$1.widgetSelected(SwtToolbarbutton.java:92)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4256)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4054)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3642)
    at org.pentaho.di.ui.spoon.Spoon.readAndDispatch(Spoon.java:1429)
    at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:8217)
    at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9586)
    at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:735)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at org.pentaho.commons.launcher.Launcher.main(Launcher.java:88)

解决建议

  • 重建本地仓库:关闭Spoon,备份%USERPROFILE%\.pentaho\repositories下对应仓库的文件夹,删除原文件夹后重新创建本地仓库,导入原有作业和转换。
  • 切换JDK版本:Pentaho CE 10.2对JDK 17的兼容性可能存在问题,尝试切换到官方推荐的JDK 11 LTS版本测试。
  • 替换插件文件:从Pentaho CE 9.4安装目录复制plugins/fileopensave文件夹,替换10.2版本中的对应目录(替换前备份原文件夹),修复fileopensave插件的空指针问题。
  • 清理缓存:删除%USERPROFILE%\.pentaho\cache和%USERPROFILE%\.pentaho\.metadata目录,重启Spoon后重新连接仓库。

内容的提问来源于stack exchange,提问作者Maxhouston

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 03:50:06