我能够很好地运行演示并在单元测试中构建一个图形生成器,但是现在当我将其部署并在本地服务器上运行时,我会在部分但并非全部调用的查询中获得NullPointerExceptions。

    ProjectController pc = Lookup.getDefault().lookup(ProjectController.class);
    pc.newProject();
    workspace = pc.getCurrentWorkspace();
    GraphController gc = Lookup.getDefault().lookup(GraphController.class);
    GraphModel model = gc.getModel();


堆栈跟踪如下:

Caused by: java.lang.NullPointerException
at com.network.manager.impl.NetworkLayoutManagerImpl.initGraphModel(NetworkLayoutManagerImpl.java:167)
at com.network.manager.impl.NetworkLayoutManagerImpl.convertNetworkToGraph(NetworkLayoutManagerImpl.java:49)
at com.network.manager.impl.NetworkChartManagerImpl.buildNetworkGEXF(NetworkChartManagerImpl.java:61)
at com.network.controller.LoadNetworkControllerImpl.loadNodesAndEdges(LoadNetworkControllerImpl.java:43)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:328)
at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:341)
at org.jboss.el.parser.AstPropertySuffix.invoke(AstPropertySuffix.java:58)
at org.jboss.el.parser.AstValue.invoke(AstValue.java:96)
at org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)
... 139 more


我的GraphController“ gc”在这种情况下为null,但是,我能够毫无问题地查找ProjectController。出于好奇,我添加了我需要的其他控制器(AttributeController和ExportController)并打印出来。

(ProjectController--GraphController--AttributeController--ExportController)

System.err.println(pc + " --- " + gc + " --- " + ac + " --- " + ec);


给我以下内容:

org.gephi.project.impl.ProjectControllerImpl@1b819521 --- null --- null --- org.gephi.io.exporter.impl.ExportControllerImpl@3412470a


我对Lookup API不太熟悉,所以这是一个完全的谜。我正在Tomcat服务器上运行它。让我知道是否需要更多信息。

在这里和gephi论坛上也有类似的问题,但没有任何回应。

Streaming Graph to Gephi using toolkit : NullPointerException

https://forum.gephi.org/viewtopic.php?t=1599

最佳答案

查找取决于找到的META-INF/services文件。看来Tomcat找不到GraphController和AttributeController的东西。应该有与在源文件中导入GraphController和AttributeController的方式相似的文件。

10-08 03:28